ndisc6-1.0.1/0000755000175000001440000000000011530146510007670 500000000000000ndisc6-1.0.1/Makefile.in0000644000175000001440000005750411470554042011676 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 - master Makefile for ndisc6 # $Id: Makefile.am 639 2010-01-24 08:27:53Z remi $ # Copyright © 2006 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@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@ subdir = . DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \ AUTHORS COPYING ChangeLog INSTALL NEWS admin/compile \ admin/config.guess admin/config.rpath admin/config.sub \ admin/depcomp admin/install-sh admin/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hostname.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/sockaddr.m4 $(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 = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir dist dist-all distcheck 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)"; }; } am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" GZIP_ENV = --best DIST_ARCHIVES = $(distdir).tar.bz2 distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBRT = @LIBRT@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ 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@ ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = \ 1.11 \ check-news \ dist-bzip2 \ no-dist-gzip \ no-exeext \ std-options \ -Wall SUBDIRS = po doc compat src rdnssd DIST_SUBDIRS = m4 $(SUBDIRS) noinst_HEADERS = include/gettext.h DISTCLEANFILES = stamp-svn all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu 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) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): 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) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @case `sed 15q $(srcdir)/NEWS` in \ *"$(VERSION)"*) : ;; \ *) \ echo "NEWS not updated; not releasing" 1>&2; \ exit 1;; \ esac $(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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -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-xz: distdir tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz $(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) | bzip2 -9 -c >$(distdir).tar.bz2 $(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) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(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) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ && am__cwd=`pwd` \ && $(am__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 \ && cd "$$am__cwd" \ || exit 1 $(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: @$(am__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-recursive all-am: Makefile $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) 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-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-local \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ ctags-recursive install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ dist-hook dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-generic distclean-hdr \ distclean-local distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am 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 \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-recursive uninstall uninstall-am distcheck-hook: cd doc && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook distclean-local: test "$(top_srcdir)" = "$(top_builddir)" || rm -f ChangeLog dist-hook: stamp-svn stamp-svn: @rev=$$(LANG=C svnversion "$(srcdir)" 2>/dev/null || echo exported) ; \ oldrev=$$(cat stamp-svn 2>/dev/null || true) ; \ if test "$$rev" != "$$oldrev"; then \ echo "New SVN revision is $$rev." ; \ if test "$$rev" != "exported"; then \ echo -n "Rebuilding ChangeLog... " ; \ LANG=C svn -v --non-interactive log "$(srcdir)" > ChangeLog || exit $$? ; \ echo "OK" ; \ fi ; \ echo "$$rev" > $@ ; \ fi ChangeLog: $(MAKE) $(AM_MAKEFLAGS) stamp-svn touch $@ .PHONY: stamp-svn # 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: ndisc6-1.0.1/COPYING0000644000175000001440000004310310444336174010656 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. ndisc6-1.0.1/config.h.in0000644000175000001440000001050511470554046011646 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define to 1 if you have the `clock_nanosleep' function. */ #undef HAVE_CLOCK_NANOSLEEP /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the `fdatasync' function. */ #undef HAVE_FDATASYNC /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `getopt_long' function. */ #undef HAVE_GETOPT_LONG /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if you have the `inet6_rth_add' function. */ #undef HAVE_INET6_RTH_ADD /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `ppoll' function. */ #undef HAVE_PPOLL /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if assertions should be disabled. */ #undef NDEBUG /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the hostname of the host who builds the package. */ #undef PACKAGE_BUILD_HOSTNAME /* Define to the command line used to invoke the configure script. */ #undef PACKAGE_CONFIGURE_INVOCATION /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Version number of package */ #undef VERSION /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Fallback replacement for GNU `getopt_long' */ #ifndef HAVE_GETOPT_LONG # define getopt_long( argc, argv, optstring, longopts, longindex ) \ getopt (argc, argv, optstring) # if !GETOPT_STRUCT_OPTION && !HAVE_GETOPT_H struct option { const char *name; int has_arg; int *flag; int val; }; # define GETOPT_STRUCT_OPTION 1 # endif # ifndef required_argument # define no_argument 0 # define required_argument 1 # define optional_argument 2 # endif #endif #include "compat/fixups.h" #ifndef HAVE_CLOCK_NANOSLEEP # define clock_nanosleep( c, f, d, r ) nanosleep( d, r ) #endif #define _( str ) gettext (str) #define N_( str ) gettext_noop (str) ndisc6-1.0.1/AUTHORS0000644000175000001440000000017711236100033010656 00000000000000Rémi Denis-Courmont Pierre Ynard Yin, Kwong-Sang Fred L. Templim ndisc6-1.0.1/src/0000755000175000001440000000000011530146511010460 500000000000000ndisc6-1.0.1/src/Makefile.in0000644000175000001440000010034211530146416012451 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 - src/ directory Makefile for ndisc6 # $Id: Makefile.am 664 2010-11-16 19:15:36Z remi $ # Copyright © 2006-2008 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@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@ mysuidexec_PROGRAMS = ndisc6$(EXEEXT) rdisc6$(EXEEXT) \ rltraceroute6$(EXEEXT) myexec_PROGRAMS = tcptraceroute6$(EXEEXT) bin_PROGRAMS = tcpspray$(EXEEXT) name2addr$(EXEEXT) subdir = src DIST_COMMON = $(dist_noinst_SCRIPTS) $(noinst_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hostname.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/sockaddr.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(myexecdir)" \ "$(DESTDIR)$(mysuidexecdir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(myexecdir)" PROGRAMS = $(bin_PROGRAMS) $(myexec_PROGRAMS) $(mysuidexec_PROGRAMS) am_name2addr_OBJECTS = addrinfo.$(OBJEXT) name2addr_OBJECTS = $(am_name2addr_OBJECTS) name2addr_LDADD = $(LDADD) am_ndisc6_OBJECTS = ndisc.$(OBJEXT) ndisc6_OBJECTS = $(am_ndisc6_OBJECTS) am__DEPENDENCIES_1 = ndisc6_DEPENDENCIES = $(am__DEPENDENCIES_1) $(AM_LIBADD) am_rdisc6_OBJECTS = rdisc6-ndisc.$(OBJEXT) rdisc6_OBJECTS = $(am_rdisc6_OBJECTS) rdisc6_DEPENDENCIES = $(am__DEPENDENCIES_1) $(AM_LIBADD) am_rltraceroute6_OBJECTS = traceroute.$(OBJEXT) trace-tcp.$(OBJEXT) \ trace-udp.$(OBJEXT) trace-icmp.$(OBJEXT) rltraceroute6_OBJECTS = $(am_rltraceroute6_OBJECTS) rltraceroute6_DEPENDENCIES = $(am__DEPENDENCIES_1) $(AM_LIBADD) am_tcpspray_OBJECTS = tcpspray.$(OBJEXT) tcpspray_OBJECTS = $(am_tcpspray_OBJECTS) tcpspray_DEPENDENCIES = $(am__DEPENDENCIES_1) $(AM_LIBADD) am_tcptraceroute6_OBJECTS = tcptraceroute6-tcptraceroute.$(OBJEXT) tcptraceroute6_OBJECTS = $(am_tcptraceroute6_OBJECTS) tcptraceroute6_LDADD = $(LDADD) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' SCRIPTS = $(bin_SCRIPTS) $(dist_noinst_SCRIPTS) $(myexec_SCRIPTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/admin/depcomp am__depfiles_maybe = depfiles am__mv = mv -f AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(name2addr_SOURCES) $(ndisc6_SOURCES) $(rdisc6_SOURCES) \ $(rltraceroute6_SOURCES) $(tcpspray_SOURCES) \ $(tcptraceroute6_SOURCES) DIST_SOURCES = $(name2addr_SOURCES) $(ndisc6_SOURCES) \ $(rdisc6_SOURCES) $(rltraceroute6_SOURCES) $(tcpspray_SOURCES) \ $(tcptraceroute6_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBRT = @LIBRT@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ 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@ mysuidexecdir = $(myexecdir) AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \ -DLOCALEDIR=\"$(localedir)\" AM_LIBADD = @top_builddir@/compat/libcompat.a myexec_SCRIPTS = tracert6 bin_SCRIPTS = tcpspray6 dnssort addr2name noinst_HEADERS = gettime.h dist_noinst_SCRIPTS = gen-alias EXTRA_DIST = dnssort.in MOSTLYCLEANFILES = $(myexec_SCRIPTS) $(bin_SCRIPTS) gen_alias = transform="$(transform)" ${SHELL} $(srcdir)/gen-alias sed_verbose = $(sed_verbose_$(V)) sed_verbose_ = $(sed_verbose_$(AM_DEFAULT_VERBOSITY)) sed_verbose_0 = @echo " SED $@"; alias_verbose = $(alias_verbose_$(V)) alias_verbose_ = $(alias_verbose_$(AM_DEFAULT_VERBOSITY)) alias_verbose_0 = @echo " ALIAS $@"; # ndisc6 ndisc6_SOURCES = ndisc.c ndisc6_LDADD = $(LIBRT) $(AM_LIBADD) # rdisc6 rdisc6_SOURCES = ndisc.c rdisc6_CPPFLAGS = -DRDISC $(AM_CPPFLAGS) rdisc6_LDADD = $(LIBRT) $(AM_LIBADD) # traceroute6 rltraceroute6_SOURCES = traceroute.c traceroute.h \ trace-tcp.c trace-udp.c trace-icmp.c rltraceroute6_LDADD = $(LIBRT) $(AM_LIBADD) tcptraceroute6_SOURCES = tcptraceroute.c tcptraceroute6_CPPFLAGS = $(AM_CPPFLAGS) \ -DRLTRACEROUTE6=\"`echo rltraceroute6 | sed '$(transform)'`\" # tcpspray tcpspray_SOURCES = tcpspray.c tcpspray_LDADD = $(LIBRT) $(AM_LIBADD) # addr2name name2addr_SOURCES = addrinfo.c subst_script = sed \ -e 's,[@]PERL[@],$(PERL),g' \ -e 's,[@]PACKAGE[@],$(PACKAGE),g' \ -e 's,[@]VERSION[@],$(VERSION),g' @NOSUID_FALSE@myexecdir = $(bindir) @NOSUID_TRUE@myexecdir = $(sbindir) all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) install-myexecPROGRAMS: $(myexec_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(myexecdir)" || $(MKDIR_P) "$(DESTDIR)$(myexecdir)" @list='$(myexec_PROGRAMS)'; test -n "$(myexecdir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(myexecdir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(myexecdir)$$dir" || exit $$?; \ } \ ; done uninstall-myexecPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(myexec_PROGRAMS)'; test -n "$(myexecdir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(myexecdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(myexecdir)" && rm -f $$files clean-myexecPROGRAMS: -test -z "$(myexec_PROGRAMS)" || rm -f $(myexec_PROGRAMS) install-mysuidexecPROGRAMS: $(mysuidexec_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(mysuidexecdir)" || $(MKDIR_P) "$(DESTDIR)$(mysuidexecdir)" @list='$(mysuidexec_PROGRAMS)'; test -n "$(mysuidexecdir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(mysuidexecdir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(mysuidexecdir)$$dir" || exit $$?; \ } \ ; done uninstall-mysuidexecPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(mysuidexec_PROGRAMS)'; test -n "$(mysuidexecdir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(mysuidexecdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(mysuidexecdir)" && rm -f $$files clean-mysuidexecPROGRAMS: -test -z "$(mysuidexec_PROGRAMS)" || rm -f $(mysuidexec_PROGRAMS) name2addr$(EXEEXT): $(name2addr_OBJECTS) $(name2addr_DEPENDENCIES) @rm -f name2addr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(name2addr_OBJECTS) $(name2addr_LDADD) $(LIBS) ndisc6$(EXEEXT): $(ndisc6_OBJECTS) $(ndisc6_DEPENDENCIES) @rm -f ndisc6$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ndisc6_OBJECTS) $(ndisc6_LDADD) $(LIBS) rdisc6$(EXEEXT): $(rdisc6_OBJECTS) $(rdisc6_DEPENDENCIES) @rm -f rdisc6$(EXEEXT) $(AM_V_CCLD)$(LINK) $(rdisc6_OBJECTS) $(rdisc6_LDADD) $(LIBS) rltraceroute6$(EXEEXT): $(rltraceroute6_OBJECTS) $(rltraceroute6_DEPENDENCIES) @rm -f rltraceroute6$(EXEEXT) $(AM_V_CCLD)$(LINK) $(rltraceroute6_OBJECTS) $(rltraceroute6_LDADD) $(LIBS) tcpspray$(EXEEXT): $(tcpspray_OBJECTS) $(tcpspray_DEPENDENCIES) @rm -f tcpspray$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tcpspray_OBJECTS) $(tcpspray_LDADD) $(LIBS) tcptraceroute6$(EXEEXT): $(tcptraceroute6_OBJECTS) $(tcptraceroute6_DEPENDENCIES) @rm -f tcptraceroute6$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tcptraceroute6_OBJECTS) $(tcptraceroute6_LDADD) $(LIBS) install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files install-myexecSCRIPTS: $(myexec_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(myexecdir)" || $(MKDIR_P) "$(DESTDIR)$(myexecdir)" @list='$(myexec_SCRIPTS)'; test -n "$(myexecdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(myexecdir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(myexecdir)$$dir" || exit $$?; \ } \ ; done uninstall-myexecSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(myexec_SCRIPTS)'; test -n "$(myexecdir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(myexecdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(myexecdir)" && rm -f $$files mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addrinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ndisc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdisc6-ndisc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcpspray.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcptraceroute6-tcptraceroute.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trace-icmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trace-tcp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trace-udp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/traceroute.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @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@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @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) '$<'` rdisc6-ndisc.o: ndisc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rdisc6_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rdisc6-ndisc.o -MD -MP -MF $(DEPDIR)/rdisc6-ndisc.Tpo -c -o rdisc6-ndisc.o `test -f 'ndisc.c' || echo '$(srcdir)/'`ndisc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rdisc6-ndisc.Tpo $(DEPDIR)/rdisc6-ndisc.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ndisc.c' object='rdisc6-ndisc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rdisc6_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rdisc6-ndisc.o `test -f 'ndisc.c' || echo '$(srcdir)/'`ndisc.c rdisc6-ndisc.obj: ndisc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rdisc6_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rdisc6-ndisc.obj -MD -MP -MF $(DEPDIR)/rdisc6-ndisc.Tpo -c -o rdisc6-ndisc.obj `if test -f 'ndisc.c'; then $(CYGPATH_W) 'ndisc.c'; else $(CYGPATH_W) '$(srcdir)/ndisc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rdisc6-ndisc.Tpo $(DEPDIR)/rdisc6-ndisc.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ndisc.c' object='rdisc6-ndisc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rdisc6_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rdisc6-ndisc.obj `if test -f 'ndisc.c'; then $(CYGPATH_W) 'ndisc.c'; else $(CYGPATH_W) '$(srcdir)/ndisc.c'; fi` tcptraceroute6-tcptraceroute.o: tcptraceroute.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tcptraceroute6_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tcptraceroute6-tcptraceroute.o -MD -MP -MF $(DEPDIR)/tcptraceroute6-tcptraceroute.Tpo -c -o tcptraceroute6-tcptraceroute.o `test -f 'tcptraceroute.c' || echo '$(srcdir)/'`tcptraceroute.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/tcptraceroute6-tcptraceroute.Tpo $(DEPDIR)/tcptraceroute6-tcptraceroute.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tcptraceroute.c' object='tcptraceroute6-tcptraceroute.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tcptraceroute6_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tcptraceroute6-tcptraceroute.o `test -f 'tcptraceroute.c' || echo '$(srcdir)/'`tcptraceroute.c tcptraceroute6-tcptraceroute.obj: tcptraceroute.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tcptraceroute6_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tcptraceroute6-tcptraceroute.obj -MD -MP -MF $(DEPDIR)/tcptraceroute6-tcptraceroute.Tpo -c -o tcptraceroute6-tcptraceroute.obj `if test -f 'tcptraceroute.c'; then $(CYGPATH_W) 'tcptraceroute.c'; else $(CYGPATH_W) '$(srcdir)/tcptraceroute.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/tcptraceroute6-tcptraceroute.Tpo $(DEPDIR)/tcptraceroute6-tcptraceroute.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tcptraceroute.c' object='tcptraceroute6-tcptraceroute.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tcptraceroute6_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tcptraceroute6-tcptraceroute.obj `if test -f 'tcptraceroute.c'; then $(CYGPATH_W) 'tcptraceroute.c'; else $(CYGPATH_W) '$(srcdir)/tcptraceroute.c'; fi` 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(myexecdir)" "$(DESTDIR)$(mysuidexecdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(myexecdir)"; 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: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @NOSUID_TRUE@install-exec-hook: clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-myexecPROGRAMS \ clean-mysuidexecPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-binSCRIPTS \ install-myexecPROGRAMS install-myexecSCRIPTS \ install-mysuidexecPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ uninstall-myexecPROGRAMS uninstall-myexecSCRIPTS \ uninstall-mysuidexecPROGRAMS .MAKE: install-am install-exec-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-myexecPROGRAMS clean-mysuidexecPROGRAMS \ ctags distclean distclean-compile distclean-generic \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-binSCRIPTS \ 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-myexecPROGRAMS install-myexecSCRIPTS \ install-mysuidexecPROGRAMS 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 pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \ uninstall-myexecPROGRAMS uninstall-myexecSCRIPTS \ uninstall-mysuidexecPROGRAMS tracert6: Makefile.am gen-alias $(alias_verbose)$(gen_alias) tracert6 rltraceroute6 -I tcpspray6: Makefile.am gen-alias $(alias_verbose)$(gen_alias) tcpspray6 tcpspray -6 addr2name: Makefile.am gen-alias $(alias_verbose)$(gen_alias) addr2name name2addr -r # dnssort dnssort: dnssort.in Makefile.in $(top_builddir)/config.status $(AM_V_at)rm -f $@.tmp $@ $(sed_verbose)$(subst_script) < $(srcdir)/$@.in > $@.tmp $(AM_V_at)chmod +x $@.tmp $(AM_V_at)mv -f $@.tmp $@ # IMPORTANT NOTE for packagers: # If you want to disable setuid installation, # you can invoke the configure with '--disable-suid-install'. @NOSUID_FALSE@install-exec-hook: @NOSUID_FALSE@ @for f in $(mysuidexec_PROGRAMS); do \ @NOSUID_FALSE@ i="`echo "$$f" | sed -e '$(program)'`" ; \ @NOSUID_FALSE@ echo chmod u+s "$(DESTDIR)$(mysuidexecdir)/$$i" ; \ @NOSUID_FALSE@ chmod u+s "$(DESTDIR)$(mysuidexecdir)/$$i" || exit $$? ; \ @NOSUID_FALSE@ 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: ndisc6-1.0.1/src/gettime.h0000644000175000001440000000355710656356262012237 00000000000000/* * gettime.h - compatibility wrapper around clock_gettime() * $Id: gettime.h 483 2007-08-08 15:09:36Z remi $ */ /************************************************************************* * Copyright © 2006 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #include /* times() fallback */ #if defined (CLOCK_HIGHRES) && !defined (CLOCK_MONOTONIC) # define CLOCK_MONOTONIC CLOCK_HIGHRES #endif static inline void mono_gettime (struct timespec *ts) { #ifdef CLOCK_MONOTONIC if (clock_gettime (CLOCK_MONOTONIC, ts)) #endif { static long freq = 0; if (freq == 0) freq = sysconf (_SC_CLK_TCK); struct tms dummy; clock_t t = times (&dummy); ts->tv_sec = t / freq; ts->tv_nsec = (t % freq) * (1000000000 / freq); } } static inline int mono_nanosleep (const struct timespec *ts) { #ifdef CLOCK_MONOTONIC int rc = clock_nanosleep (CLOCK_MONOTONIC, 0, ts, NULL); if (rc != EINVAL) return rc; #endif return clock_nanosleep (CLOCK_REALTIME, 0, ts, NULL); } ndisc6-1.0.1/src/traceroute.h0000644000175000001440000000401610656356262012745 00000000000000/* * traceroute.h - TCP/IPv6 traceroute tool common header * $Id: traceroute.h 483 2007-08-08 15:09:36Z remi $ */ /************************************************************************* * Copyright © 2005-2006 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifndef NDISC6_TRACEROUTE_H # define NDISC6_TRACEROUTE_H typedef ssize_t (*trace_send_t) (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port); typedef ssize_t (*trace_parser_t) (const void *restrict data, size_t len, int *restrict ttl, unsigned *restrict n, uint16_t port); typedef struct tracetype { int gai_socktype; int protocol; int checksum_offset; trace_send_t send_probe; trace_parser_t parse_resp, parse_err; } tracetype; # ifdef __cplusplus extern "C" { # endif ssize_t send_payload (int fd, const void *payload, size_t length, int hlim); # ifdef __cplusplus } #endif extern bool ecn; extern uint16_t sport; extern const tracetype udp_type, udplite_type, echo_type, syn_type, ack_type; #ifndef IPPROTO_UDPLITE # define IPPROTO_UDPLITE 136 #endif #endif ndisc6-1.0.1/src/Makefile.am0000644000175000001440000000523011470554130012437 00000000000000# Makefile.am - src/ directory Makefile for ndisc6 # $Id: Makefile.am 664 2010-11-16 19:15:36Z remi $ # Copyright © 2006-2008 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. bindir = @bindir@ sbindir = @sbindir@ mysuidexecdir = $(myexecdir) AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \ -DLOCALEDIR=\"$(localedir)\" AM_LIBADD = @top_builddir@/compat/libcompat.a mysuidexec_PROGRAMS = ndisc6 rdisc6 rltraceroute6 myexec_PROGRAMS = tcptraceroute6 myexec_SCRIPTS = tracert6 bin_PROGRAMS = tcpspray name2addr bin_SCRIPTS = tcpspray6 dnssort addr2name noinst_HEADERS = gettime.h dist_noinst_SCRIPTS = gen-alias EXTRA_DIST = dnssort.in MOSTLYCLEANFILES = $(myexec_SCRIPTS) $(bin_SCRIPTS) gen_alias = transform="$(transform)" ${SHELL} $(srcdir)/gen-alias sed_verbose = $(sed_verbose_$(V)) sed_verbose_ = $(sed_verbose_$(AM_DEFAULT_VERBOSITY)) sed_verbose_0 = @echo " SED $@"; alias_verbose = $(alias_verbose_$(V)) alias_verbose_ = $(alias_verbose_$(AM_DEFAULT_VERBOSITY)) alias_verbose_0 = @echo " ALIAS $@"; # ndisc6 ndisc6_SOURCES = ndisc.c ndisc6_LDADD = $(LIBRT) $(AM_LIBADD) # rdisc6 rdisc6_SOURCES = ndisc.c rdisc6_CPPFLAGS = -DRDISC $(AM_CPPFLAGS) rdisc6_LDADD = $(LIBRT) $(AM_LIBADD) # traceroute6 rltraceroute6_SOURCES = traceroute.c traceroute.h \ trace-tcp.c trace-udp.c trace-icmp.c rltraceroute6_LDADD = $(LIBRT) $(AM_LIBADD) tcptraceroute6_SOURCES = tcptraceroute.c tcptraceroute6_CPPFLAGS = $(AM_CPPFLAGS) \ -DRLTRACEROUTE6=\"`echo rltraceroute6 | sed '$(transform)'`\" tracert6: Makefile.am gen-alias $(alias_verbose)$(gen_alias) tracert6 rltraceroute6 -I # tcpspray tcpspray_SOURCES = tcpspray.c tcpspray_LDADD = $(LIBRT) $(AM_LIBADD) tcpspray6: Makefile.am gen-alias $(alias_verbose)$(gen_alias) tcpspray6 tcpspray -6 # addr2name name2addr_SOURCES = addrinfo.c addr2name: Makefile.am gen-alias $(alias_verbose)$(gen_alias) addr2name name2addr -r subst_script = sed \ -e 's,[@]PERL[@],$(PERL),g' \ -e 's,[@]PACKAGE[@],$(PACKAGE),g' \ -e 's,[@]VERSION[@],$(VERSION),g' # dnssort dnssort: dnssort.in Makefile.in $(top_builddir)/config.status $(AM_V_at)rm -f $@.tmp $@ $(sed_verbose)$(subst_script) < $(srcdir)/$@.in > $@.tmp $(AM_V_at)chmod +x $@.tmp $(AM_V_at)mv -f $@.tmp $@ if NOSUID myexecdir = $(sbindir) else myexecdir = $(bindir) # IMPORTANT NOTE for packagers: # If you want to disable setuid installation, # you can invoke the configure with '--disable-suid-install'. install-exec-hook: @for f in $(mysuidexec_PROGRAMS); do \ i="`echo "$$f" | sed -e '$(program)'`" ; \ echo chmod u+s "$(DESTDIR)$(mysuidexecdir)/$$i" ; \ chmod u+s "$(DESTDIR)$(mysuidexecdir)/$$i" || exit $$? ; \ done endif ndisc6-1.0.1/src/traceroute.c0000644000175000001440000010160511366760625012743 00000000000000/* * traceroute.c - TCP/IPv6 traceroute tool * $Id: traceroute.c 651 2010-05-01 08:08:53Z remi $ */ /************************************************************************* * Copyright © 2005-2007 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include /* div() */ #include #include #include #include /* nanosleep() */ #include #include #include #include #include #include // IFNAMSIZ, if_nametoindex #include #include #include #include #include /* inet_ntop() */ #include #include #include /* setlocale() */ #ifdef HAVE_GETOPT_H # include #endif #ifdef __linux__ # include #endif #include "gettime.h" #include "traceroute.h" #ifndef AI_IDN # define AI_IDN 0 #endif #ifndef IPV6_TCLASS # if defined (__linux__) # define IPV6_TCLASS 67 # elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__) \ || defined (__NetBSD__) || defined (__NetBSD_kernel__) # define IPV6_TCLASS 61 # else # warning Traffic class support missing! Define IPV6_TCLASS! # endif #endif #ifndef IPV6_RECVHOPLIMIT /* Using obsolete RFC 2292 instead of RFC 3542 */ # define IPV6_RECVHOPLIMIT IPV6_HOPLIMIT #endif #ifndef ICMP6_DST_UNREACH_BEYONDSCOPE # define ICMP6_DST_UNREACH_BEYONDSCOPE 2 #endif #ifndef SOL_IPV6 # define SOL_IPV6 IPPROTO_IPV6 #endif #ifndef SOL_ICMPV6 # define SOL_ICMPV6 IPPROTO_ICMPV6 #endif /* All our evil global variables */ static const tracetype *type = NULL; static int niflags = 0; static int tclass = -1; uint16_t sport; static bool debug = false, dontroute = false, show_hlim = false; bool ecn = false; static char ifname[IFNAMSIZ] = ""; static const char *rt_segv[127]; static int rt_segc = 0; /****************************************************************************/ static uint16_t getsourceport (void) { uint16_t v = ~getpid (); if (v < 1025) v += 1025; return htons (v); } ssize_t send_payload (int fd, const void *payload, size_t length, int hlim) { char cbuf[CMSG_SPACE (sizeof (int))]; struct iovec iov = { .iov_base = (void *)payload, .iov_len = length }; struct msghdr hdr = { .msg_name = NULL, .msg_namelen = 0, .msg_iov = &iov, .msg_iovlen = 1, .msg_control = cbuf, .msg_controllen = sizeof (cbuf) }; struct cmsghdr *cmsg = CMSG_FIRSTHDR (&hdr); cmsg->cmsg_level = IPPROTO_IPV6; cmsg->cmsg_type = IPV6_HOPLIMIT; cmsg->cmsg_len = CMSG_LEN (sizeof (hlim)); memcpy (CMSG_DATA (cmsg), &hlim, sizeof (hlim)); ssize_t rc = sendmsg (fd, &hdr, 0); if (rc == (ssize_t)length) return 0; if (rc != -1) errno = EMSGSIZE; return -1; } static ssize_t recv_payload (int fd, void *buf, size_t len, struct sockaddr_in6 *addr, int *hlim) { char cbuf[CMSG_SPACE (sizeof (int))]; struct iovec iov = { .iov_base = buf, .iov_len = len }; struct msghdr hdr = { .msg_name = addr, .msg_namelen = (addr != NULL) ? sizeof (*addr) : 0, .msg_iov = &iov, .msg_iovlen = 1, .msg_control = cbuf, .msg_controllen = sizeof (cbuf) }; ssize_t val = recvmsg (fd, &hdr, 0); if (val == -1) return val; /* ensures the hop limit is 255 */ for (struct cmsghdr *cmsg = CMSG_FIRSTHDR (&hdr); cmsg != NULL; cmsg = CMSG_NXTHDR (&hdr, cmsg)) if ((cmsg->cmsg_level == IPPROTO_IPV6) && (cmsg->cmsg_type == IPV6_HOPLIMIT)) memcpy (hlim, CMSG_DATA (cmsg), sizeof (hlim)); return val; } static bool has_port (int protocol) { switch (protocol) { case IPPROTO_UDP: case IPPROTO_TCP: //case IPPROTO_SCTP: //case IPPROTO_DCCP: return true; } return false; } /** * Stores difference between two struct timespec in a third struct timespec. * The destination CAN be one (or both) term of the difference, * and both terms can be identical (though this is rather pointless). */ static void tsdiff (struct timespec *res, const struct timespec *from, const struct timespec *to) { res->tv_sec = to->tv_sec - from->tv_sec; if (to->tv_nsec < from->tv_nsec) { res->tv_sec--; res->tv_nsec = 1000000000 + to->tv_nsec - from->tv_nsec; } else res->tv_nsec = to->tv_nsec - from->tv_nsec; } static ssize_t parse (trace_parser_t func, const void *data, size_t len, int *hlim, int *attempt, uint16_t port) { if (func == NULL) return -1; unsigned dummy = -1; ssize_t rc = func (data, len, hlim, &dummy, port); *attempt = dummy; if (rc < 0) return rc; return rc; } static const void * skip_exthdrs (struct ip6_hdr *ip6, size_t *plen) { const uint8_t *payload = (const uint8_t *)(ip6 + 1); size_t len = *plen; uint8_t nxt = ip6->ip6_nxt; for (;;) { uint16_t hlen; switch (nxt) { case IPPROTO_HOPOPTS: case IPPROTO_DSTOPTS: case IPPROTO_ROUTING: if (len < 2) return NULL; hlen = (1 + (uint16_t)payload[1]) << 3; break; case IPPROTO_FRAGMENT: hlen = 8; break; case IPPROTO_AH: if (len < 2) return NULL; hlen = (2 + (uint16_t)payload[1]) << 2; break; default: // THE END goto out; } if (len < hlen) return NULL; // too short; switch (nxt) { case IPPROTO_ROUTING: { /* Extract real destination */ if (payload[3] > 0) // segments left { if (payload[2] != 0) return NULL; // unknown type /* Handle Routing Type 0 */ if ((hlen & 8) != 8) return NULL; // != 8[16] -> invalid length memcpy (&ip6->ip6_dst, payload + (16 * payload[3]) - 8, 16); } break; } case IPPROTO_FRAGMENT: { uint16_t offset; memcpy (&offset, payload + 2, 2); if (ntohs (offset) >> 3) return NULL; // non-first fragment break; } } nxt = payload[0]; len -= hlen; payload += hlen; } out: ip6->ip6_nxt = nxt; *plen = len; return payload; } #define TRACE_TIMEOUT 0 #define TRACE_OK 1 // TTL exceeded, echo reply, port unreachable... #define TRACE_CLOSED 2 #define TRACE_OPEN 3 #define TRACE_NOROUTE 0x100 // !N network unreachable #define TRACE_ADMIN 0x101 // !A administratively prohibited #define TRACE_BSCOPE 0X102 // !S beyond scope of source address #define TRACE_NOHOST 0x103 // !H address unreachable //#define TRACE_TOOBIG 0x100 // !F-%u packet too big //#define TRACE_NOSUP 0x400 // header field error #define TRACE_NOPROTO 0x401 // !P unrecognized next header //#define TRACE_NOOPT 0x402 // unrecognized option typedef struct { struct sockaddr_in6 addr; // hop address struct timespec sent; // request date struct timespec rcvd; // reply date int rhlim; // received hop limit unsigned result;// 0: no reply, 1: ok, 2: closed, 3: open } tracetest_t; static int icmp_recv (int fd, tracetest_t *res, int *attempt, int *hlim, const struct sockaddr_in6 *dst) { struct { struct icmp6_hdr hdr; struct ip6_hdr inhdr; uint8_t buf[1192]; } pkt; res->rhlim = -1; ssize_t len = recv_payload (fd, &pkt, sizeof (pkt), &res->addr, &res->rhlim); if (len < (ssize_t)(sizeof (pkt.hdr) + sizeof (pkt.inhdr))) return 0; // too small len -= sizeof (pkt.hdr) + sizeof (pkt.inhdr); #if 0 /* "Extended" ICMP detection */ const uint8_t *ext = NULL; size_t extlen = 0; switch (pkt.hdr.icmp6_type) { case ICMP6_DST_UNREACH: case ICMP6_TIME_EXCEEDED: if (pkt.hdr.icmp6_data8[0] != 0) { short origlen = pkt.hdr.icmp6_data8[0] << 6; if (origlen > len) return 0; // malformatted extended ICMP assert (origlen >= 40); ext = pkt.buf - 40 + origlen; extlen = len - origlen; len = origlen; if ((extlen < 1) || ((ext[0] >> 4) != 2)) break; // no ext / unknown version if (extlen < 4) return 0; // malformatted v2 extension /* FIXME: compute checksum */ } } #endif const void *buf = skip_exthdrs (&pkt.inhdr, (size_t *)&len); if (memcmp (&pkt.inhdr.ip6_dst, &dst->sin6_addr, 16)) return 0; // wrong destination if (pkt.inhdr.ip6_nxt != type->protocol) return 0; // wrong protocol len = parse (type->parse_err, buf, len, hlim, attempt, dst->sin6_port); if (len < 0) return 0; /* interesting ICMPv6 error */ bool final = true; switch (pkt.hdr.icmp6_type) { case ICMP6_DST_UNREACH: switch (pkt.hdr.icmp6_code) { case ICMP6_DST_UNREACH_NOROUTE: case ICMP6_DST_UNREACH_ADMIN: case ICMP6_DST_UNREACH_BEYONDSCOPE: case ICMP6_DST_UNREACH_ADDR: res->result = 0x100 | pkt.hdr.icmp6_code; break; case ICMP6_DST_UNREACH_NOPORT: res->result = TRACE_OK; break; case 5: // ingress/egress policy failure case 6: // reject route res->result = TRACE_ADMIN; break; } break; case ICMP6_PARAM_PROB: switch (pkt.hdr.icmp6_code) { case ICMP6_PARAMPROB_NEXTHEADER: res->result = 0x400 | pkt.hdr.icmp6_code; } break; case ICMP6_TIME_EXCEEDED: if (pkt.hdr.icmp6_code == ICMP6_TIME_EXCEED_TRANSIT) { res->result = TRACE_OK; final = false; // intermediary reponse break; } default: // should not happen (ICMPv6 filter) return 0; } #if 0 /* "Extended" ICMP handling */ if (extlen > 0) { ext += 4; extlen -= 4; while (extlen >= 4) { uint16_t objlen = (ext[0] << 8) | ext[1]; if ((objlen & 3) || (objlen < 4) // malformatted object || (objlen > extlen)) // incomplete object break; switch (ext[2]) { } ext += objlen; extlen -= objlen; } } #endif if (!final) return 1; // intermediary response // final response received return memcmp (&res->addr.sin6_addr, &dst->sin6_addr, 16) ? 2 : 3; } static int proto_recv (int fd, tracetest_t *res, int *attempt, int *hlim, const struct sockaddr_in6 *dst) { res->rhlim = -1; uint8_t buf[1240]; ssize_t len = recv_payload (fd, buf, sizeof (buf), NULL, &res->rhlim); if (len < 0) { switch (errno) { case EAGAIN: case ECONNREFUSED: #ifdef EPROTO case EPROTO: #endif return 0; default: /* These are very bad errors (-> bugs) */ fprintf (stderr, _("Receive error: %s\n"), strerror (errno)); return 0; } } len = parse (type->parse_resp, buf, len, hlim, attempt, dst->sin6_port); if (len < 0) return 0; /* Route determination complete! */ memcpy (&res->addr, dst, sizeof (res->addr)); res->result = 1 + len; return 1; // response received } static int probe (int protofd, int icmpfd, const struct sockaddr_in6 *dst, const struct timespec *deadline, tracetest_t *res, int *hlim, int *attempt) { for (;;) { struct pollfd ufds[2]; memset (ufds, 0, sizeof (ufds)); ufds[0].fd = protofd; ufds[0].events = POLLIN; ufds[1].fd = icmpfd; ufds[1].events = POLLIN; struct timespec recvd; mono_gettime (&recvd); int val = ((deadline->tv_sec - recvd.tv_sec ) * 1000) + (int)((deadline->tv_nsec - recvd.tv_nsec) / 1000000); val = poll (ufds, 2, val > 0 ? val : 0); mono_gettime (&recvd); if (val < 0) /* interrupted by signal - well, not really */ continue; if (val == 0) { *hlim = -1; break; } /* Receive final packet when host reached */ if (ufds[0].revents) { if (proto_recv (protofd, res, attempt, hlim, dst) > 0) { res->rcvd = recvd; return 1; } } /* Receive ICMP errors along the way */ if (ufds[1].revents) { val = icmp_recv (icmpfd, res, attempt, hlim, dst); if (val) res->rcvd = recvd; switch (val) { case 1: return 0; // TTL exceeded case 2: return -1; // unreachable case 3: return 1; // reached } } } return 0; } /* Performs reverse lookup; print hostname and address */ static void printname (const struct sockaddr *addr, size_t addrlen) { char buf[NI_MAXHOST]; int flags = niflags; int c = getnameinfo (addr, addrlen, buf, sizeof (buf), NULL, 0, flags); if (c == 0) { printf (" %s ", buf); if (flags & NI_NUMERICHOST) return; } flags |= NI_NUMERICHOST; if (getnameinfo (addr, addrlen, buf, sizeof (buf), NULL, 0, flags)) strcpy (buf, "???"); if (c != 0) printf (" %s ", buf); // work around DNS resolution failure printf ("(%s) ", buf); } static inline void printrtt (const struct timespec *rtt) { div_t d = div (rtt->tv_nsec / 1000, 1000); /* * For some stupid reasons, div() returns a negative remainder when * the numerator is negative, instead of following the mathematicians * convention that the remainder always be positive. */ if (d.rem < 0) { d.quot--; d.rem += 1000; } d.quot += 1000 * rtt->tv_sec; printf (_(" %u.%03u ms "), (unsigned)(d.quot), (unsigned)d.rem); } static void display (const tracetest_t *tab, unsigned min_ttl, unsigned max_ttl, unsigned retries) { for (unsigned ttl = min_ttl; ttl <= max_ttl; ttl++) { struct sockaddr_in6 hop = { .sin6_family = AF_UNSPEC }; const tracetest_t *line = tab + retries * (ttl - min_ttl); printf ("%2d ", ttl); for (unsigned col = 0; col < retries; col++) { const tracetest_t *test = line + col; if (test->result == TRACE_TIMEOUT) { fputs (" *", stdout); continue; } if ((col == 0) || memcmp (&hop, &test->addr, sizeof (hop))) { memcpy (&hop, &test->addr, sizeof (hop)); printname ((struct sockaddr *)&hop, sizeof (hop)); } struct timespec rtt; tsdiff (&rtt, &test->sent, &test->rcvd); printrtt (&rtt); if ((col == 0) || (test[-1].result != test->result)) { const char *msg; switch (test->result) { case TRACE_CLOSED: msg = N_("[closed] "); break; case TRACE_OPEN: msg = N_("[open] "); break; default: msg = NULL; } if (msg != NULL) fputs (gettext (msg), stdout); } if (test->rhlim != -1) printf ("(%d) ", test->rhlim); const char *msg2; switch (test->result) { case TRACE_NOROUTE: msg2 = "!N "; break; case TRACE_ADMIN: msg2 = "!A "; break; case TRACE_BSCOPE: msg2 = "!S "; break; case TRACE_NOHOST: msg2 = "!H "; break; case TRACE_NOPROTO: msg2 = "!P "; break; default: msg2 = NULL; } if (msg2 != NULL) fputs (msg2, stdout); } fputc ('\n', stdout); } } static int getaddrinfo_err (const char *host, const char *serv, const struct addrinfo *hints, struct addrinfo **res) { int val = getaddrinfo (host, serv, hints, res); if (val) { fprintf (stderr, _("%s%s%s%s: %s\n"), host ?: "", host ? " " : "", serv ? _("port ") : "", serv ?: "", gai_strerror (val)); return val; } return 0; } static int connect_proto (int fd, struct sockaddr_in6 *dst, const char *dsthost, const char *dstport, const char *srchost, const char *srcport) { struct addrinfo hints, *res; memset (&hints, 0, sizeof (hints)); hints.ai_family = AF_INET6; hints.ai_socktype = type->gai_socktype; hints.ai_flags = AI_CANONNAME | AI_IDN; if ((srchost != NULL) || (srcport != NULL)) { hints.ai_flags |= AI_PASSIVE; if (getaddrinfo_err (srchost, srcport, &hints, &res)) return -1; if (bind (fd, res->ai_addr, res->ai_addrlen)) { perror (srchost); goto error; } if (srcport != NULL) sport = ((const struct sockaddr_in6 *)res->ai_addr)->sin6_port; freeaddrinfo (res); hints.ai_flags &= ~AI_PASSIVE; } if (srcport == NULL) sport = getsourceport (); if (getaddrinfo_err (dsthost, dstport, &hints, &res)) return -1; if (res->ai_addrlen > sizeof (*dst)) goto error; if (connect (fd, res->ai_addr, res->ai_addrlen)) { perror (dsthost); goto error; } char buf[INET6_ADDRSTRLEN]; if (inet_ntop (AF_INET6, &((const struct sockaddr_in6 *)res->ai_addr)->sin6_addr, buf, sizeof (buf)) == NULL) strcpy (buf, "??"); printf (_("traceroute to %s (%s) "), res->ai_canonname, buf); if ((getsockname (fd, (struct sockaddr *)dst, &(socklen_t){ sizeof (*dst) }) == 0) && inet_ntop (AF_INET6, &dst->sin6_addr, buf, sizeof (buf))) printf (_("from %s, "), buf); memcpy (dst, res->ai_addr, res->ai_addrlen); if (has_port (type->protocol)) printf (_("port %u, from port %u, "), ntohs (dst->sin6_port), ntohs (sport)); freeaddrinfo (res); return 0; error: freeaddrinfo (res); return -1; } static void setup_socket (int fd) { if (debug) setsockopt (fd, SOL_SOCKET, SO_DEBUG, &(int){ 1 }, sizeof (int)); setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof (int)); if (show_hlim) setsockopt (fd, SOL_IPV6, IPV6_RECVHOPLIMIT, &(int){1}, sizeof (int)); int val = fcntl (fd, F_GETFL); if (val == -1) val = 0; fcntl (fd, F_SETFL, O_NONBLOCK | val); fcntl (fd, F_GETFD, FD_CLOEXEC); } static int setsock_rth (int fd, int type, const char **segv, int segc) { uint8_t hdr[inet6_rth_space (type, segc)]; inet6_rth_init (hdr, sizeof (hdr), type, segc); struct addrinfo hints; memset (&hints, 0, sizeof (hints)); hints.ai_family = AF_INET6; hints.ai_flags = AI_IDN; for (int i = 0; i < segc; i++) { struct addrinfo *res; if (getaddrinfo_err (segv[i], NULL, &hints, &res)) return -1; const struct sockaddr_in6 *a = (const void *)res->ai_addr; if (inet6_rth_add (hdr, &a->sin6_addr)) return -1; } #ifdef IPV6_RTHDR return setsockopt (fd, SOL_IPV6, IPV6_RTHDR, hdr, sizeof (hdr)); #else errno = ENOSYS; return -1; #endif } /* Requests raw sockets ahead of use so we can drop root quicker */ static struct { int protocol; int fd; int errnum; } protofd[] = { { IPPROTO_ICMPV6, -1, EPERM }, { IPPROTO_ICMPV6, -1, EPERM }, { IPPROTO_UDP, -1, EPERM }, { IPPROTO_UDPLITE,-1, EPERM }, { IPPROTO_TCP, -1, EPERM } }; static int prepare_sockets (void) { for (unsigned i = 0; i < sizeof (protofd) / sizeof (protofd[0]); i++) { protofd[i].fd = socket (AF_INET6, SOCK_RAW, protofd[i].protocol); if (protofd[i].fd == -1) protofd[i].errnum = errno; else if (protofd[i].fd <= 2) return -1; } return 0; } static int get_socket (int protocol) { errno = EPROTONOSUPPORT; for (unsigned i = 0; i < sizeof (protofd) / sizeof (protofd[0]); i++) if (protofd[i].protocol == protocol) { int fd = protofd[i].fd; if (fd != -1) { protofd[i].fd = -1; return fd; } errno = protofd[i].errnum; } return -1; } static void drop_sockets (void) { for (unsigned i = 0; i < sizeof (protofd) / sizeof (protofd[0]); i++) if (protofd[i].fd != -1) close (protofd[i].fd); } static int traceroute (const char *dsthost, const char *dstport, const char *srchost, const char *srcport, unsigned timeout, unsigned delay, unsigned retries, size_t packet_len, int min_ttl, int max_ttl) { /* Creates ICMPv6 socket to collect error packets */ int icmpfd = get_socket (IPPROTO_ICMPV6); if (icmpfd == -1) { perror (_("Raw IPv6 socket")); return -1; } /* Creates protocol-specific socket */ int protofd = get_socket (type->protocol); if (protofd == -1) { perror (_("Raw IPv6 socket")); close (icmpfd); return -1; } drop_sockets (); #ifdef IPV6_PKTINFO /* Set outgoing interface */ if (*ifname) { struct in6_pktinfo nfo; memset (&nfo, 0, sizeof (nfo)); nfo.ipi6_ifindex = if_nametoindex (ifname); if (nfo.ipi6_ifindex == 0) { fprintf (stderr, _("%s: %s\n"), ifname, strerror (ENXIO)); goto error; } if (setsockopt (protofd, SOL_IPV6, IPV6_PKTINFO, &nfo, sizeof (nfo))) { perror (ifname); goto error; } } #endif setup_socket (icmpfd); setup_socket (protofd); /* Set ICMPv6 filter */ { struct icmp6_filter f; ICMP6_FILTER_SETBLOCKALL (&f); ICMP6_FILTER_SETPASS (ICMP6_DST_UNREACH, &f); ICMP6_FILTER_SETPASS (ICMP6_TIME_EXCEEDED, &f); ICMP6_FILTER_SETPASS (ICMP6_PARAM_PROB, &f); setsockopt (icmpfd, SOL_ICMPV6, ICMP6_FILTER, &f, sizeof (f)); } /* Defines protocol-specific checksum offset */ if ((type->checksum_offset != -1) && setsockopt (protofd, SOL_IPV6, IPV6_CHECKSUM, &type->checksum_offset, sizeof (int))) { perror ("setsockopt(IPV6_CHECKSUM)"); goto error; } /* Set ICMPv6 filter for echo replies */ if (type->protocol == IPPROTO_ICMPV6) { // NOTE: we assume any ICMP probes type uses ICMP echo struct icmp6_filter f; ICMP6_FILTER_SETBLOCKALL (&f); ICMP6_FILTER_SETPASS (ICMP6_ECHO_REPLY, &f); setsockopt (protofd, SOL_ICMPV6, ICMP6_FILTER, &f, sizeof (f)); } #ifdef IPV6_TCLASS /* Defines traffic class */ setsockopt (protofd, SOL_IPV6, IPV6_TCLASS, &tclass, sizeof (tclass)); #endif if (dontroute) setsockopt (protofd, SOL_SOCKET, SO_DONTROUTE, &(int){ 1 }, sizeof (int)); /* Defines Type 0 Routing Header */ if (rt_segc > 0) setsock_rth (protofd, IPV6_RTHDR_TYPE_0, rt_segv, rt_segc); /* Defines destination */ struct sockaddr_in6 dst; memset (&dst, 0, sizeof (dst)); if (connect_proto (protofd, &dst, dsthost, dstport, srchost, srcport)) goto error; printf (ngettext ("%u hop max, ", "%u hops max, ", max_ttl), max_ttl); #ifdef SO_ATTACH_FILTER { /* Static socket filter for the unconnected ICMPv6 socket. * We are only interested if the inner IPv6 packet has the * right IPv6 destination */ struct sock_filter f[10], *pc = f; struct sock_fprog sfp = { .len = sizeof (f) / sizeof (f[0]), .filter = f, }; for (unsigned i = 0; i < 4; i++) { /* A = icmp->ip6_dst.s6_addr32[i]; */ pc->code = BPF_LD + BPF_W + BPF_ABS; pc->jt = pc->jf = 0; pc->k = 8 + 24 + (i * 4); pc++; /* if (A != dst.sin6_addr.s6_addr32[i]) goto drop; */ pc->code = BPF_JMP + BPF_JEQ + BPF_K; pc->jt = 0; pc->jf = f + (sizeof (f) / sizeof (f[0])) - (pc + 2); pc->k = ntohl (dst.sin6_addr.s6_addr32[i]); pc++; } /* return ~0U; */ pc->code = BPF_RET + BPF_K; pc->jt = pc->jf = 0; pc->k = ~0U; pc++; /* drop: return 0; */ pc->code = BPF_RET + BPF_K; pc->jt = pc->jf = pc->k = 0; assert ((++pc - f) == (sizeof (f) / sizeof (f[0]))); setsockopt (icmpfd, SOL_SOCKET, SO_ATTACH_FILTER, &sfp, sizeof (sfp)); } #endif /* Adjusts packets length */ size_t overhead = sizeof (struct ip6_hdr); if (rt_segc > 0) overhead += inet6_rth_space (IPV6_RTHDR_TYPE_0, rt_segc); if (packet_len < overhead) packet_len = overhead; printf (ngettext ("%zu byte packets\n", "%zu bytes packets\n", packet_len), packet_len); packet_len -= overhead; struct timespec delay_ts; if (delay) { div_t d = div (delay, 1000); delay_ts.tv_sec = d.quot; delay_ts.tv_nsec = d.rem * 1000000; } /* Performs traceroute */ int val = 0; if (max_ttl >= min_ttl) { tracetest_t tab[(1 + max_ttl - min_ttl) * retries]; memset (tab, 0, sizeof (tab)); for (unsigned step = 1, progress = 0; step < (1 + max_ttl - min_ttl) + retries; step++) { unsigned pending = 0; if (isatty (1)) { unsigned total = retries * (max_ttl - min_ttl + 1); printf (_(" %3u%% completed..."), 100 * progress / total); fputc ('\r', stdout); } if (delay && (step > 1)) mono_nanosleep (&delay_ts); /* Sends requests */ for (unsigned i = 0; i < retries; i++) { int attempt = (retries - 1) - i; int hlim = min_ttl + step + i - retries; if ((hlim > max_ttl) || (hlim < min_ttl)) continue; tracetest_t *t = tab + (hlim - min_ttl) * retries + attempt; assert (t >= tab); assert (t < tab + (sizeof (tab) / sizeof (tab[0]))); if (type->send_probe (protofd, hlim, attempt, packet_len, dst.sin6_port)) { fprintf (stderr, _("Cannot send data: %s\n"), strerror (errno)); return -1; } mono_gettime (&t->sent); pending++; } struct timespec deadline; mono_gettime (&deadline); deadline.tv_sec += timeout; /* Receives replies */ while (pending > 0) { tracetest_t results; int hlim = -1; int attempt = -1; int res = probe (protofd, icmpfd, &dst, &deadline, &results, &hlim, &attempt); if (hlim == -1) /* timeout! */ { progress += pending; break; } if ((hlim > max_ttl) || (hlim < min_ttl)) continue; if (attempt == -1) attempt = min_ttl + step - (hlim + 1); if ((attempt < 0) || ((unsigned)attempt >= retries)) continue; tracetest_t *t = tab + (hlim - min_ttl) * retries + attempt; assert (t >= tab); assert (t < tab + (sizeof (tab) / sizeof (tab[0]))); if (t->result == TRACE_TIMEOUT /* no result yet */) { struct timespec buf = t->sent; memcpy (t, &results, sizeof (*t)); t->sent = buf; pending--; if (isatty (1)) { unsigned total = retries * (max_ttl - min_ttl + 1); printf (_(" %3u%% completed..."), 100 * ++progress / total); fputc ('\r', stdout); } } if (res && (val <= 0)) { val = res > 0 ? 1 : -1; // sign <-> reachability max_ttl = hlim; } } if (isatty (1)) { // white spaces to erase "xxx% completed..." fputs (_(" "), stdout); fputc ('\r', stdout); } if (step >= retries) { int hl = min_ttl + step - retries; display (tab + retries *(hl - min_ttl), hl, hl, retries); } } } /* Cleans up */ close (protofd); close (icmpfd); return val > 0 ? 0 : -2; error: close (protofd); close (icmpfd); return -1; } static int quick_usage (const char *path) { fprintf (stderr, _("Try \"%s -h\" for more information.\n"), path); return 2; } static int usage (const char *path) { printf (_( "Usage: %s [options] [%s]\n" "Print IPv6 network route to a host\n"), path, _("packet length")); puts (_("\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in TCP packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -I use ICMPv6 Echo Request packets as probes\n" " -i force outgoing network interface\n" " -l display incoming packets hop limit\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override destination port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -U send UDP probes (default)\n" " -V display program version and exit\n" /*" -v, --verbose display all kind of ICMPv6 errors\n"*/ " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" )); return 0; } static int version (void) { printf (_( "traceroute6: TCP & UDP IPv6 traceroute tool %s (%s)\n"), VERSION, "$Rev: 651 $"); printf (_(" built %s on %s\n"), __DATE__, PACKAGE_BUILD_HOSTNAME); printf (_("Configured with: %s\n"), PACKAGE_CONFIGURE_INVOCATION); puts (_("Written by Remi Denis-Courmont\n")); printf (_("Copyright (C) %u-%u Remi Denis-Courmont\n"), 2005, 2007); puts (_("This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n")); return 0; } static unsigned parse_hlim (const char *str) { char *end; unsigned long u = strtoul (str, &end, 0); if ((u > 255) || *end) { fprintf (stderr, _("%s: invalid hop limit\n"), str); return (unsigned)(-1); } return (unsigned)u; } static size_t parse_plen (const char *str) { char *end; unsigned long u = strtoul (str, &end, 0); if ((u > 65575) || *end) { fprintf (stderr, _("%s: invalid packet length\n"), str); return (size_t)(-1); } return (size_t)u; } static const struct option opts[] = { { "ack", no_argument, NULL, 'A' }, { "debug", no_argument, NULL, 'd' }, { "ecn", no_argument, NULL, 'E' }, // -F is a stub { "first", required_argument, NULL, 'f' }, { "segment", required_argument, NULL, 'g' }, { "help", no_argument, NULL, 'h' }, { "icmp", no_argument, NULL, 'I' }, { "iface", required_argument, NULL, 'i' }, { "hlim", no_argument, NULL, 'l' }, { "max", required_argument, NULL, 'm' }, // -N is not really a stub, should have a long name { "numeric", no_argument, NULL, 'n' }, { "port", required_argument, NULL, 'p' }, { "retry", required_argument, NULL, 'q' }, { "noroute", no_argument, NULL, 'r' }, { "syn", no_argument, NULL, 'S' }, { "source", required_argument, NULL, 's' }, { "tclass", required_argument, NULL, 't' }, { "udp", no_argument, NULL, 'U' }, { "version", no_argument, NULL, 'V' }, /*{ "verbose", no_argument, NULL, 'v' },*/ { "wait", required_argument, NULL, 'w' }, // -x is a stub { "delay", required_argument, NULL, 'z' }, { NULL, 0, NULL, 0 } }; static const char optstr[] = "AdEFf:g:hIi:Llm:Nnp:q:rSs:t:UVw:xz:" "P:"; int main (int argc, char *argv[]) { if (prepare_sockets () || setuid (getuid ())) return 1; setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); const char *dsthost, *srchost = NULL, *dstport = "33434", *srcport = NULL; size_t plen = 60; unsigned retries = 3, wait = 5, delay = 0, minhlim = 1, maxhlim = 30; int val; while ((val = getopt_long (argc, argv, optstr, opts, NULL)) != EOF) { switch (val) { case 'A': type = &ack_type; break; case 'd': debug = true; break; case 'E': ecn = true; break; case 'F': // stub (don't fragment) break; case 'f': if ((minhlim = parse_hlim (optarg)) == (unsigned)(-1)) return 1; break; case 'g': if (rt_segc >= 127) { fprintf (stderr, "%s: Too many route segments specified.\n", optarg); return 1; } rt_segv[rt_segc++] = optarg; break; case 'h': return usage (argv[0]); case 'I': type = &echo_type; break; case 'i': strncpy (ifname, optarg, IFNAMSIZ - 1); ifname[IFNAMSIZ - 1] = '\0'; break; /* We should really have a generic option and * use getprotobyname() instead. Semantics of -L * will likely change in future versions!! */ case 'L': type = &udplite_type; break; case 'l': show_hlim = true; break; case 'm': if ((maxhlim = parse_hlim (optarg)) == (unsigned)(-1)) return 1; break; case 'N': /* * FIXME: should we differenciate private addresses as * tcptraceroute does? */ niflags &= ~NI_NUMERICHOST; break; case 'n': niflags |= NI_NUMERICHOST | NI_NUMERICSERV; break; case 'P': srcport = optarg; break; case 'p': dstport = optarg; break; case 'q': { char *end; unsigned long l = strtoul (optarg, &end, 0); if (*end || l > 255) return quick_usage (argv[0]); retries = l; break; } case 'r': dontroute = true; break; case 'S': type = &syn_type; break; case 's': srchost = optarg; break; case 't': { char *end; unsigned long l = strtoul (optarg, &end, 0); if (*end || l > 255) return quick_usage (argv[0]); tclass = l; break; } case 'U': type = &udp_type; break; case 'V': return version (); case 'w': { char *end; unsigned long l = strtoul (optarg, &end, 0); if (*end || l > UINT_MAX) return quick_usage (argv[0]); wait = (unsigned)l; break; } case 'x': // stub: no IPv6 checksums break; case 'z': { char *end; unsigned long l = strtoul (optarg, &end, 0); if (*end || l > UINT_MAX) return quick_usage (argv[0]); delay = (unsigned)l; break; } case '?': default: return quick_usage (argv[0]); } } if (type == NULL) type = &udp_type; if (optind >= argc) return quick_usage (argv[0]); dsthost = argv[optind++]; if (optind < argc) { plen = parse_plen (argv[optind++]); if (plen == (size_t)(-1)) return 1; } if (optind < argc) return quick_usage (argv[0]); setvbuf (stdout, NULL, _IONBF, 0); return -traceroute (dsthost, dstport, srchost, srcport, wait, delay, retries, plen, minhlim, maxhlim); } ndisc6-1.0.1/src/trace-tcp.c0000644000175000001440000001202311006351402012417 00000000000000/* * trace-tcp.c - TCP support for IPv6 traceroute tool * $Id: trace-tcp.c 624 2008-05-01 14:26:09Z remi $ */ /************************************************************************* * Copyright © 2005-2006 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #undef _GNU_SOURCE #define _BSD_SOURCE 1 #include #include #include #include #include #include // getpid() #include // SOCK_STREAM #include #include #include "traceroute.h" #define TCP_WINDOW 4096 #ifndef TH_ECE # define TH_ECE 0x40 # define TH_CWR 0x80 #endif /* TCP/SYN probes */ static ssize_t send_syn_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port) { if (plen < sizeof (struct tcphdr)) plen = sizeof (struct tcphdr); struct { struct tcphdr th; uint8_t payload[plen - sizeof (struct tcphdr)]; } packet; memset (&packet, 0, sizeof (packet)); packet.th.th_sport = sport; packet.th.th_dport = port; packet.th.th_seq = htonl ((ttl << 24) | (n << 16) | getpid ()); packet.th.th_off = sizeof (packet.th) / 4; packet.th.th_flags = TH_SYN | (ecn ? (TH_ECE | TH_CWR) : 0); packet.th.th_win = htons (TCP_WINDOW); return send_payload (fd, &packet, plen, ttl); } static ssize_t parse_syn_resp (const void *data, size_t len, int *ttl, unsigned *n, uint16_t port) { const struct tcphdr *pth = (const struct tcphdr *)data; uint32_t seq; if ((len < sizeof (*pth)) || (pth->th_dport != sport) || (pth->th_sport != port) || ((pth->th_flags & TH_ACK) == 0) || (((pth->th_flags & TH_SYN) != 0) == ((pth->th_flags & TH_RST) != 0)) || (pth->th_off < (sizeof (*pth) / 4))) return -1; seq = ntohl (pth->th_ack) - 1; if ((seq & 0xffff) != (unsigned)getpid ()) return -1; *ttl = seq >> 24; *n = (seq >> 16) & 0xff; return 1 + ((pth->th_flags & TH_SYN) == TH_SYN); } static ssize_t parse_syn_error (const void *data, size_t len, int *ttl, unsigned *n, uint16_t port) { const struct tcphdr *pth = (const struct tcphdr *)data; uint32_t seq; if ((len < 8) || (pth->th_sport != sport) || (pth->th_dport != port)) return -1; seq = ntohl (pth->th_seq); if ((seq & 0xffff) != (unsigned)getpid ()) return -1; *ttl = seq >> 24; *n = (seq >> 16) & 0xff; return 0; } const tracetype syn_type = { SOCK_STREAM, IPPROTO_TCP, 16, send_syn_probe, parse_syn_resp, parse_syn_error }; /* TCP/ACK probes */ static ssize_t send_ack_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port) { if (plen < sizeof (struct tcphdr)) plen = sizeof (struct tcphdr); struct { struct tcphdr th; uint8_t payload[plen - sizeof (struct tcphdr)]; } packet; memset (&packet, 0, sizeof (packet)); packet.th.th_sport = sport; packet.th.th_dport = port; packet.th.th_ack = htonl ((ttl << 24) | (n << 16) | getpid ()); packet.th.th_off = sizeof (packet.th) / 4; packet.th.th_flags = TH_ACK; packet.th.th_win = htons (TCP_WINDOW); return send_payload (fd, &packet, plen, ttl); } static ssize_t parse_ack_resp (const void *data, size_t len, int *ttl, unsigned *n, uint16_t port) { const struct tcphdr *pth = (const struct tcphdr *)data; uint32_t seq; if ((len < sizeof (*pth)) || (pth->th_dport != sport) || (pth->th_sport != port) || (pth->th_flags & TH_SYN) || (pth->th_flags & TH_ACK) || ((pth->th_flags & TH_RST) == 0) || (pth->th_off < (sizeof (*pth) / 4))) return -1; seq = ntohl (pth->th_seq); if ((seq & 0xffff) != (unsigned)getpid ()) return -1; *ttl = seq >> 24; *n = (seq >> 16) & 0xff; return 0; } static ssize_t parse_ack_error (const void *data, size_t len, int *ttl, unsigned *n, uint16_t port) { const struct tcphdr *pth = (const struct tcphdr *)data; uint32_t seq; if ((len < 8) || (pth->th_sport != sport) || (pth->th_dport != port)) return -1; seq = ntohl (pth->th_ack); if ((seq & 0xffff) != (unsigned)getpid ()) return -1; *ttl = seq >> 24; *n = (seq >> 16) & 0xff; return 0; } const tracetype ack_type = { SOCK_STREAM, IPPROTO_TCP, 16, send_ack_probe, parse_ack_resp, parse_ack_error }; ndisc6-1.0.1/src/addrinfo.c0000644000175000001440000001320211366756362012352 00000000000000/* * addrinfo.c - converts names to network addresses * $Id: addrinfo.c 646 2010-05-01 07:49:06Z remi $ */ /************************************************************************* * Copyright © 2002-2009 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include /* strchr() */ #include #include #include #include #include #include #ifdef HAVE_GETOPT_H # include #endif #ifndef AI_IDN # define AI_IDN 0 #endif static void gai_perror (int errval, const char *msg) { if (errval == EAI_SYSTEM) perror (msg); else fprintf (stderr, "%s: %s\n", msg, gai_strerror (errval)); } static int printnames (const char *name, int family, int aflags, int nflags, bool single) { struct addrinfo hints, *res; memset (&hints, 0, sizeof (hints)); hints.ai_family = family; hints.ai_socktype = SOCK_DGRAM; hints.ai_flags = aflags; int check = getaddrinfo (name, NULL, &hints, &res); if (check) { gai_perror (check, name); return -1; } for (struct addrinfo *ptr = res; ptr != NULL; ptr = ptr->ai_next) { char hostname[NI_MAXHOST]; check = getnameinfo (ptr->ai_addr, ptr->ai_addrlen, hostname, sizeof (hostname), NULL, 0, nflags); if (check) gai_perror (check, name); else fputs (hostname, stdout); if (single) break; if (ptr->ai_next != NULL) fputc (' ', stdout); } fputc ('\n', stdout); freeaddrinfo (res); return 0; } static int printnamesf (FILE *input, int family, int aflags, int nflags, bool single) { do { char buf[NI_MAXHOST + 1], *ptr; if (fgets (buf, sizeof (buf), input) != NULL) { ptr = strchr (buf, '\n'); if (ptr != NULL) *ptr = '\0'; printnames (buf, family, aflags, nflags, single); } } while (!ferror (input) && !feof (input)); if (ferror (input)) { perror (_("Input error")); return -1; } return 0; } static int usage (const char *path) { printf (_( "Usage: %s [-4|-6] [hostnames]\n" "Converts names to addresses.\n" "\n" " -4, --ipv4 only lookup IPv4 addresses\n" " -6, --ipv6 only lookup IPv6 addresses\n" " -c, --config only return addresses for locally configured protocols\n" " -h, --help display this help and exit\n" " -m, --multiple print multiple results separated by spaces\n" " -n, --numeric do not perform forward hostname lookup\n" " -r, --reverse perform reverse address to hostname lookup\n" " -V, --version display program version and exit\n"), path); return 0; } static int quick_usage (const char *path) { fprintf (stderr, _("Try \"%s -h\" for more information.\n"), path); return 2; } static int version (void) { printf (_("addrinfo %s (%s)\n"), VERSION, "$Rev: 646 $"); printf (_(" built %s on %s\n"), __DATE__, PACKAGE_BUILD_HOSTNAME); printf (_("Configured with: %s\n"), PACKAGE_CONFIGURE_INVOCATION); puts (_("Written by Remi Denis-Courmont\n")); printf (_("Copyright (C) %u-%u Remi Denis-Courmont\n"), 2002, 2007); puts (_("This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n")); return 0; } static const struct option lopts[] = { { "ipv4", no_argument, NULL, '4' }, { "ipv6", no_argument, NULL, '6' }, { "config", no_argument, NULL, 'c' }, { "help", no_argument, NULL, 'h' }, { "multiple", no_argument, NULL, 'm' }, { "numeric", no_argument, NULL, 'n' }, { "reverse", no_argument, NULL, 'r' }, { "version", no_argument, NULL, 'V' }, { NULL, 0, NULL, 0 } }; static const char sopts[] = "46chmnrV"; int main (int argc, char *argv[]) { setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); int val, family = AF_UNSPEC, aflags = AI_IDN, nflags = NI_NUMERICHOST; bool single = true; while ((val = getopt_long (argc, argv, sopts, lopts, NULL)) != EOF) switch (val) { case '4': family = AF_INET; break; case '6': family = AF_INET6; break; case 'c': aflags |= AI_ADDRCONFIG; break; case 'h': return usage (argv[0]); case 'm': single = false; break; case 'n': aflags |= AI_NUMERICHOST; break; case 'r': nflags &= ~NI_NUMERICHOST; break; case 'V': return version (); case '?': default: return quick_usage (argv[0]); } setvbuf (stdout, NULL, _IOLBF, 0); val = 0; if (optind < argc) { while (optind < argc) printnames (argv[optind++], family, aflags, nflags, single); } else val = printnamesf (stdin, family, aflags, nflags, single); return val; } ndisc6-1.0.1/src/dnssort.in0000644000175000001440000000360510656356262012446 00000000000000#! @PERL@ # # Perl script to sort DNS names # # $Id: dnssort.in 483 2007-08-08 15:09:36Z remi $ # ************************************************************************* # * Copyright © 2004-2006 Rémi Denis-Courmont. * # * This program is free software: you can redistribute and/or modify * # * it under the terms of the GNU General Public License as published by * # * the Free Software Foundation, versions 2 or 3 of the license. * # * * # * This program is distributed in the hope that it will be useful, * # * but WITHOUT ANY WARRANTY; without even the implied warranty of * # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * # * GNU General Public License for more details. * # * * # * You should have received a copy of the GNU General Public License * # * along with this program. If not, see . * # ************************************************************************* use strict; #use locale; -- not very useful for DNS use Getopt::Std; $Getopt::Std::STANDARD_HELP_VERSION = 1; $main::VERSION = '@VERSION@'; sub main::HELP_MESSAGE() { print "Usage: dnssort [-r] [FILES]\n". " Sorts DNS hostnames from input.\n"; } # Parse command line our $opt_r; getopts('r'); if ($#ARGV < 0) { # No files specified -> Use standard input push @ARGV, '-'; } # Read files my @names = (); foreach (@ARGV) { open FD,"< $_" or die "$_: $!\n"; while() { chomp; split /\./; push @names, join('.', reverse @_); } close FD; } # Sort entries @names = sort { lc($a) cmp lc($b) } @names; if ($opt_r) { @names = reverse @names; } # Print results foreach (@names) { split /\./; print join('.', reverse @_)."\n"; } ndisc6-1.0.1/src/trace-icmp.c0000644000175000001440000000563011006351402012567 00000000000000/* * trace-icmp.c - ICMP code for IPv6 traceroute tool * $Id: trace-icmp.c 624 2008-05-01 14:26:09Z remi $ */ /************************************************************************* * Copyright © 2005-2006 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include // uint16_t #include // getpid() #include #include #include #include "traceroute.h" /* ICMPv6 Echo probes */ static ssize_t send_echo_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port) { if (plen < sizeof (struct icmp6_hdr)) plen = sizeof (struct icmp6_hdr); struct { struct icmp6_hdr ih; uint8_t payload[plen - sizeof (struct icmp6_hdr)]; } packet; memset (&packet, 0, plen); packet.ih.icmp6_type = ICMP6_ECHO_REQUEST; packet.ih.icmp6_id = htons (getpid ()); packet.ih.icmp6_seq = htons ((ttl << 8) | (n & 0xff)); (void)port; return send_payload (fd, &packet.ih, plen, ttl); } static ssize_t parse_echo_reply (const void *data, size_t len, int *ttl, unsigned *n, uint16_t port) { const struct icmp6_hdr *pih = (const struct icmp6_hdr *)data; if ((len < sizeof (*pih)) || (pih->icmp6_type != ICMP6_ECHO_REPLY) || (pih->icmp6_id != htons (getpid ()))) return -1; (void)port; *ttl = ntohs (pih->icmp6_seq) >> 8; *n = ntohs (pih->icmp6_seq) & 0xff; return 0; } static ssize_t parse_echo_error (const void *data, size_t len, int *ttl, unsigned *n, uint16_t port) { const struct icmp6_hdr *pih = (const struct icmp6_hdr *)data; if ((len < sizeof (*pih)) || (pih->icmp6_type != ICMP6_ECHO_REQUEST) || (pih->icmp6_code) || (pih->icmp6_id != htons (getpid ()))) return -1; (void)port; *ttl = ntohs (pih->icmp6_seq) >> 8; *n = ntohs (pih->icmp6_seq) & 0xff; return 0; } const tracetype echo_type = { SOCK_DGRAM, IPPROTO_ICMPV6, -1 /* checksum auto-set for ICMPv6 */, send_echo_probe, parse_echo_reply, parse_echo_error }; ndisc6-1.0.1/src/trace-udp.c0000644000175000001440000000553011006351402012426 00000000000000/* * traceroute.c - TCP/IPv6 traceroute tool * $Id: trace-udp.c 624 2008-05-01 14:26:09Z remi $ */ /************************************************************************* * Copyright © 2005-2006 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #undef _GNU_SOURCE #define _BSD_SOURCE 1 #include #include #include #include #include // SOCK_DGRAM #include #include #include "traceroute.h" /* UDP probes (traditional traceroute) */ static ssize_t send_udp_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port) { if (plen < sizeof (struct udphdr)) plen = sizeof (struct udphdr); struct { struct udphdr uh; uint8_t payload[plen - sizeof (struct udphdr)]; } packet; memset (&packet, 0, plen); (void)n; packet.uh.uh_sport = sport; packet.uh.uh_dport = htons (ntohs (port) + ttl); /* For UDP-Lite we have full checksum coverage, if only because the * IPV6_CHECKSUM setsockopt only supports full coverage. Hence * we can set coverage to the length of the packet, even though zero * would be more idiosyncrasic. */ packet.uh.uh_ulen = htons (plen); /*if (plen > sizeof (struct udphdr)) packet.payload[0] = (uint8_t)ttl;*/ return send_payload (fd, &packet, plen, ttl); } static ssize_t parse_udp_error (const void *data, size_t len, int *ttl, unsigned *n, uint16_t port) { const struct udphdr *puh = (const struct udphdr *)data; uint16_t rport; if ((len < 4) || (puh->uh_sport != sport )) return -1; rport = ntohs (puh->uh_dport); port = ntohs (port); if ((rport < port) || (rport > port + 255)) return -1; *ttl = rport - port; *n = (unsigned)(-1); return 0; } const tracetype udp_type = { SOCK_DGRAM, IPPROTO_UDP, 6, send_udp_probe, NULL, parse_udp_error }; const tracetype udplite_type = { SOCK_DGRAM, IPPROTO_UDPLITE, 6, send_udp_probe, NULL, parse_udp_error }; ndisc6-1.0.1/src/tcpspray.c0000644000175000001440000002410511366760602012425 00000000000000/* * tcpspray.c - Address family independant complete rewrite of tcpspray * Plus, this file has a clear copyright statement. * $Id: tcpspray.c 650 2010-05-01 08:08:34Z remi $ */ /************************************************************************* * Copyright © 2006-2007 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include // uint8_t, SIZE_MAX #include // SIZE_MAX on Solaris (non-standard) #ifndef SIZE_MAX # define SIZE_MAX SIZE_T_MAX // FreeBSD 4.x workaround #endif #include #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_GETOPT_H # include #endif #include "gettime.h" #ifndef AI_IDN # define AI_IDN 0 #endif static int family = 0; static unsigned verbose = 0; static int tcpconnect (const char *host, const char *serv) { struct addrinfo hints, *res; memset (&hints, 0, sizeof (hints)); hints.ai_family = family; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; hints.ai_flags = AI_IDN; int val = getaddrinfo (host, serv, &hints, &res); if (val) { fprintf (stderr, _("%s port %s: %s\n"), host, serv, gai_strerror (val)); return -1; } val = -1; for (struct addrinfo *p = res; (p != NULL) && (val == -1); p = p->ai_next) { val = socket (p->ai_family, p->ai_socktype, p->ai_protocol); if (val == -1) { perror ("socket"); continue; } setsockopt (val, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof (int)); fcntl (val, F_SETFD, FD_CLOEXEC); if (connect (val, p->ai_addr, p->ai_addrlen)) { fprintf (stderr, _("%s port %s: %s\n"), host, serv, strerror (errno)); close (val); val = -1; continue; } } freeaddrinfo (res); return val; } static void print_duration (const char *msg, const struct timespec *end, const struct timespec *start, unsigned long bytes) { double duration = ((double)end->tv_sec) + ((double)end->tv_nsec) / 1000000000 - ((double)start->tv_sec) - ((double)start->tv_nsec) / 1000000000; printf (_("%s %lu %s in %f %s"), gettext (msg), bytes, ngettext ("byte", "bytes", bytes), duration, ngettext ("second", "seconds", duration)); if (duration > 0) printf (_(" (%0.3f kbytes/s)"), bytes / (duration * 1024)); } static int tcpspray (const char *host, const char *serv, unsigned long n, size_t blen, unsigned delay_us, const char *fillname, bool echo) { if (serv == NULL) serv = echo ? "echo" : "discard"; int fd = tcpconnect (host, serv); if (fd == -1) return -1; uint8_t block[blen]; memset (block, 0, blen); if (fillname != NULL) { FILE *stream = fopen (fillname, "r"); if (stream == NULL) { perror (fillname); close (fd); return -1; } size_t res = fread (block, 1, blen, stream); if (res < blen) { fprintf (stderr, _("Warning: \"%s\" is too small (%zu %s) " "to fill block of %zu %s.\n"), fillname, res, ngettext ("byte", "bytes", res), blen, ngettext ("byte", "bytes", blen)); } fclose (stream); } if (verbose) { printf (_("Sending %ju %s with blocksize %zu %s\n"), (uintmax_t)n * blen, ngettext ("byte", "bytes", n * blen), blen, ngettext ("byte", "bytes", n * blen)); } pid_t child = -1; if (echo) { child = fork (); switch (child) { case 0: for (unsigned i = 0; i < n; i++) { ssize_t val = recv (fd, block, blen, MSG_WAITALL); if (val != (ssize_t)blen) { fprintf (stderr, _("Receive error: %s\n"), (val == -1) ? strerror (errno) : _("Connection closed by peer")); exit (1); } if (verbose) fputs ("\b \b", stdout); } exit (0); case -1: perror ("fork"); close (fd); return -1; } } else shutdown (fd, SHUT_RD); struct timespec delay_ts = { 0, 0 }; if (delay_us) { div_t d = div (delay_us, 1000000); delay_ts.tv_sec = d.quot; delay_ts.tv_nsec = d.rem * 1000; } struct timespec start, end; mono_gettime (&start); for (unsigned i = 0; i < n; i++) { ssize_t val = write (fd, block, blen); if (val != (ssize_t)blen) { fprintf (stderr, _("Cannot send data: %s\n"), (val == -1) ? strerror (errno) : _("Connection closed by peer")); goto abort; } if (verbose) fputc ('.', stdout); if (delay_us && mono_nanosleep (&delay_ts)) goto abort; } mono_gettime (&end); shutdown (fd, SHUT_WR); close (fd); if (child != -1) { int status; while (wait (&status) == -1); if (!WIFEXITED (status) || WEXITSTATUS (status)) { fprintf (stderr, _("Child process returned an error")); return -1; } struct timespec end_recv; mono_gettime (&end_recv); print_duration (N_("Received"), &end_recv, &start, blen * n); } puts (""); print_duration (N_("Transmitted"), &end, &start, blen * n); puts (""); return 0; abort: close (fd); if (child != -1) { kill (child, SIGTERM); while (wait (NULL) == -1); } return -1; } static int quick_usage (const char *path) { fprintf (stderr, _("Try \"%s -h\" for more information.\n"), path); return 2; } static int usage (const char *path) { printf (_( "Usage: %s [options] [service/port number]\n" "Use the discard TCP service at the specified host\n" "(the default host is the local system, the default service is discard)\n"), path); puts (_("\n" " -4 force usage of the IPv4 protocols family\n" " -6 force usage of the IPv6 protocols family\n" " -b specify the block bytes size (default: 1024)\n" " -d wait for given delay (usec) between each block (default: 0)\n" " -e perform a duplex test (TCP Echo instead of TCP Discard)\n" " -f fill sent data blocks with the specified file content\n" " -h display this help and exit\n" " -n specify the number of blocks to send (default: 100)\n" " -V display program version and exit\n" " -v enable verbose output\n" )); return 0; } static int version (void) { printf (_( "tcpspray6: TCP/IP bandwidth tester %s (%s)\n"), VERSION, "$Rev: 650 $"); printf (_(" built %s on %s\n"), __DATE__, PACKAGE_BUILD_HOSTNAME); printf (_("Configured with: %s\n"), PACKAGE_CONFIGURE_INVOCATION); puts (_("Written by Remi Denis-Courmont\n")); printf (_("Copyright (C) %u-%u Remi Denis-Courmont\n"), 2005, 2007); puts (_("This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n")); return 0; } static const struct option opts[] = { { "ipv4", no_argument, NULL, '4' }, { "ipv6", no_argument, NULL, '6' }, { "bsize", required_argument, NULL, 'b' }, { "delay", required_argument, NULL, 'd' }, { "echo", no_argument, NULL, 'e' }, { "file", required_argument, NULL, 'f' }, { "fill", required_argument, NULL, 'f' }, { "help", no_argument, NULL, 'h' }, { "count", required_argument, NULL, 'n' }, { "version", no_argument, NULL, 'V' }, { "verbose", no_argument, NULL, 'v' }, { NULL, 0, NULL, 0 } }; static const char optstr[] = "46b:d:ef:hn:Vv"; int main (int argc, char *argv[]) { setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); unsigned long block_count = 100; size_t block_length = 1024; unsigned delay_ms = 0; bool echo = false; const char *fillname = NULL; int c; while ((c = getopt_long (argc, argv, optstr, opts, NULL)) != EOF) { switch (c) { case '4': family = AF_INET; break; case '6': family = AF_INET6; break; case 'b': { char *end; unsigned long value = strtoul (optarg, &end, 0); if (*end) errno = EINVAL; else if (value > SIZE_MAX) errno = ERANGE; if (errno) { perror (optarg); return 2; } block_length = (size_t)value; break; } case 'd': { char *end; unsigned long value = strtoul (optarg, &end, 0); if (*end) errno = EINVAL; else if (value > UINT_MAX) errno = ERANGE; if (errno) { perror (optarg); return 2; } delay_ms = (unsigned)value; break; } case 'e': echo = true; break; case 'f': fillname = optarg; break; case 'h': return usage (argv[0]); case 'n': { char *end; block_count = strtoul (optarg, &end, 0); if (*end) errno = EINVAL; if (errno) { perror (optarg); return 2; } break; } case 'V': return version (); case 'v': if (verbose < UINT_MAX) verbose++; break; case '?': default: return quick_usage (argv[0]); } } if (optind >= argc) return quick_usage (argv[0]); const char *hostname = argv[optind++]; const char *servname = (optind < argc) ? argv[optind++] : NULL; setvbuf (stdout, NULL, _IONBF, 0); c = tcpspray (hostname, servname, block_count, block_length, delay_ms, fillname, echo); return c ? 1 : 0; } ndisc6-1.0.1/src/ndisc.c0000644000175000001440000005057411463353325011667 00000000000000/* * ndisc.c - ICMPv6 neighbour discovery command line tool * $Id: ndisc.c 657 2010-10-31 20:51:32Z remi $ */ /************************************************************************* * Copyright © 2004-2007 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include /* div() */ #include /* uint8_t */ #include /* UINT_MAX */ #include #include #include /* EMFILE */ #include #include /* close() */ #include /* clock_gettime() */ #include /* poll() */ #include #include #include #include "gettime.h" #ifdef HAVE_GETOPT_H # include #endif #include /* getaddrinfo() */ #include /* inet_ntop() */ #include /* if_nametoindex() */ #include #include #ifndef IPV6_RECVHOPLIMIT /* Using obsolete RFC 2292 instead of RFC 3542 */ # define IPV6_RECVHOPLIMIT IPV6_HOPLIMIT #endif #ifndef AI_IDN # define AI_IDN 0 #endif enum ndisc_flags { NDISC_VERBOSE1=0x1, NDISC_VERBOSE2=0x2, NDISC_VERBOSE3=0x3, NDISC_VERBOSE =0x3, NDISC_NUMERIC =0x4, NDISC_SINGLE =0x8, }; static int getipv6byname (const char *name, const char *ifname, int numeric, struct sockaddr_in6 *addr) { struct addrinfo hints, *res; memset (&hints, 0, sizeof (hints)); hints.ai_family = PF_INET6; hints.ai_socktype = SOCK_DGRAM; /* dummy */ hints.ai_flags = numeric ? AI_NUMERICHOST : 0; int val = getaddrinfo (name, NULL, &hints, &res); if (val) { fprintf (stderr, _("%s: %s\n"), name, gai_strerror (val)); return -1; } memcpy (addr, res->ai_addr, sizeof (struct sockaddr_in6)); freeaddrinfo (res); val = if_nametoindex (ifname); if (val == 0) { perror (ifname); return -1; } addr->sin6_scope_id = val; return 0; } static inline int sethoplimit (int fd, int value) { return (setsockopt (fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &value, sizeof (value)) || setsockopt (fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &value, sizeof (value))) ? -1 : 0; } static void printmacaddress (const uint8_t *ptr, size_t len) { while (len > 1) { printf ("%02X:", *ptr); ptr++; len--; } if (len == 1) printf ("%02X\n", *ptr); } #ifndef RDISC # ifdef __linux__ # include # endif static int getmacaddress (const char *ifname, uint8_t *addr) { # ifdef SIOCGIFHWADDR struct ifreq req; memset (&req, 0, sizeof (req)); if (((unsigned)strlen (ifname)) >= (unsigned)IFNAMSIZ) return -1; /* buffer overflow = local root */ strcpy (req.ifr_name, ifname); int fd = socket (AF_INET6, SOCK_DGRAM, 0); if (fd == -1) return -1; if (ioctl (fd, SIOCGIFHWADDR, &req)) { perror (ifname); close (fd); return -1; } close (fd); memcpy (addr, req.ifr_hwaddr.sa_data, 6); return 0; # else (void)ifname; (void)addr; return -1; # endif } static const uint8_t nd_type_advert = ND_NEIGHBOR_ADVERT; static const unsigned nd_delay_ms = 1000; static const unsigned ndisc_default = NDISC_VERBOSE1 | NDISC_SINGLE; static const char ndisc_usage[] = N_( "Usage: %s [options] \n" "Looks up an on-link IPv6 node link-layer address (Neighbor Discovery)\n"); static const char ndisc_dataname[] = N_("link-layer address"); typedef struct { struct nd_neighbor_solicit hdr; struct nd_opt_hdr opt; uint8_t hw_addr[6]; } solicit_packet; static ssize_t buildsol (solicit_packet *ns, struct sockaddr_in6 *tgt, const char *ifname) { /* builds ICMPv6 Neighbor Solicitation packet */ ns->hdr.nd_ns_type = ND_NEIGHBOR_SOLICIT; ns->hdr.nd_ns_code = 0; ns->hdr.nd_ns_cksum = 0; /* computed by the kernel */ ns->hdr.nd_ns_reserved = 0; memcpy (&ns->hdr.nd_ns_target, &tgt->sin6_addr, 16); /* determines actual multicast destination address */ memcpy (tgt->sin6_addr.s6_addr, "\xff\x02\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x01\xff", 13); /* gets our own interface's link-layer address (MAC) */ if (getmacaddress (ifname, ns->hw_addr)) return sizeof (ns->hdr); ns->opt.nd_opt_type = ND_OPT_SOURCE_LINKADDR; ns->opt.nd_opt_len = 1; /* 8 bytes */ return sizeof (*ns); } static int parseadv (const uint8_t *buf, size_t len, const struct sockaddr_in6 *tgt, bool verbose) { const struct nd_neighbor_advert *na = (const struct nd_neighbor_advert *)buf; const uint8_t *ptr; /* checks if the packet is a Neighbor Advertisement, and * if the target IPv6 address is the right one */ if ((len < sizeof (struct nd_neighbor_advert)) || (na->nd_na_type != ND_NEIGHBOR_ADVERT) || (na->nd_na_code != 0) || memcmp (&na->nd_na_target, &tgt->sin6_addr, 16)) return -1; len -= sizeof (struct nd_neighbor_advert); /* looks for Target Link-layer address option */ ptr = buf + sizeof (struct nd_neighbor_advert); while (len >= 8) { uint16_t optlen; optlen = ((uint16_t)(ptr[1])) << 3; if (optlen == 0) break; /* invalid length */ if (len < optlen) /* length > remaining bytes */ break; len -= optlen; /* skips unrecognized option */ if (ptr[0] != ND_OPT_TARGET_LINKADDR) { ptr += optlen; continue; } /* Found! displays link-layer address */ ptr += 2; optlen -= 2; if (verbose) fputs (_("Target link-layer address: "), stdout); printmacaddress (ptr, optlen); return 0; } return -1; } #else static const uint8_t nd_type_advert = ND_ROUTER_ADVERT; static const unsigned nd_delay_ms = 4000; static const unsigned ndisc_default = NDISC_VERBOSE1; static const char ndisc_usage[] = N_( "Usage: %s [options] [IPv6 address] \n" "Solicits on-link IPv6 routers (Router Discovery)\n"); static const char ndisc_dataname[] = N_("advertised prefixes"); typedef struct nd_router_solicit solicit_packet; static ssize_t buildsol (solicit_packet *rs, struct sockaddr_in6 *tgt, const char *ifname) { (void)tgt; (void)ifname; /* builds ICMPv6 Router Solicitation packet */ rs->nd_rs_type = ND_ROUTER_SOLICIT; rs->nd_rs_code = 0; rs->nd_rs_cksum = 0; /* computed by the kernel */ rs->nd_rs_reserved = 0; return sizeof (*rs); } static void print32time (uint32_t v) { v = ntohl (v); if (v == 0xffffffff) fputs (_(" infinite (0xffffffff)\n"), stdout); else printf (_("%12u (0x%08x) %s\n"), v, v, ngettext ("second", "seconds", v)); } static int parseprefix (const struct nd_opt_prefix_info *pi, size_t optlen, bool verbose) { char str[INET6_ADDRSTRLEN]; if (optlen < sizeof (*pi)) return -1; /* displays prefix informations */ if (inet_ntop (AF_INET6, &pi->nd_opt_pi_prefix, str, sizeof (str)) == NULL) return -1; if (verbose) fputs (_(" Prefix : "), stdout); printf ("%s/%u\n", str, pi->nd_opt_pi_prefix_len); if (verbose) { fputs (_(" Valid time : "), stdout); print32time (pi->nd_opt_pi_valid_time); fputs (_(" Pref. time : "), stdout); print32time (pi->nd_opt_pi_preferred_time); } return 0; } static void parsemtu (const struct nd_opt_mtu *m) { unsigned mtu = ntohl (m->nd_opt_mtu_mtu); fputs (_(" MTU : "), stdout); printf (" %5u %s (%s)\n", mtu, ngettext ("byte", "bytes", mtu), gettext((mtu >= 1280) ? N_("valid") : N_("invalid"))); } static const char * pref_i2n (unsigned val) { static const char *values[] = { N_("medium"), N_("high"), N_("medium (invalid)"), N_("low") }; return gettext (values[(val >> 3) & 3]); } static int parseroute (const uint8_t *opt) { uint8_t optlen = opt[1], plen = opt[2]; if ((optlen > 3) || (plen > 128) || (optlen < ((plen + 127) >> 6))) return -1; char str[INET6_ADDRSTRLEN]; struct in6_addr dst = in6addr_any; memcpy (dst.s6_addr, opt + 8, (optlen - 1) << 3); if (inet_ntop (AF_INET6, &dst, str, sizeof (str)) == NULL) return -1; printf (_(" Route : %s/%"PRIu8"\n"), str, plen); printf (_(" Route preference : %6s\n"), pref_i2n (opt[3])); fputs (_(" Route lifetime : "), stdout); print32time (((const uint32_t *)opt)[1]); return 0; } static int parserdnss (const uint8_t *opt) { uint8_t optlen = opt[1]; if (((optlen & 1) == 0) || (optlen < 3)) return -1; optlen /= 2; for (unsigned i = 0; i < optlen; i++) { char str[INET6_ADDRSTRLEN]; if (inet_ntop (AF_INET6, opt + (16 * i + 8), str, sizeof (str)) == NULL) return -1; printf (_(" Recursive DNS server : %s\n"), str); } fputs (ngettext (" DNS server lifetime : ", " DNS servers lifetime : ", optlen), stdout); print32time (((const uint32_t *)opt)[1]); return 0; } static int parseadv (const uint8_t *buf, size_t len, const struct sockaddr_in6 *tgt, bool verbose) { const struct nd_router_advert *ra = (const struct nd_router_advert *)buf; const uint8_t *ptr; (void)tgt; /* checks if the packet is a Router Advertisement */ if ((len < sizeof (struct nd_router_advert)) || (ra->nd_ra_type != ND_ROUTER_ADVERT) || (ra->nd_ra_code != 0)) return -1; if (verbose) { unsigned v; /* Hop limit */ puts (""); fputs (_("Hop limit : "), stdout); v = ra->nd_ra_curhoplimit; if (v != 0) printf (_(" %3u"), v); else fputs (_("undefined"), stdout); printf (_(" ( 0x%02x)\n"), v); v = ra->nd_ra_flags_reserved; printf (_("Stateful address conf. : %3s\n"), gettext ((v & ND_RA_FLAG_MANAGED) ? N_ ("Yes") : N_("No"))); printf (_("Stateful other conf. : %3s\n"), gettext ((v & ND_RA_FLAG_OTHER) ? N_ ("Yes") : N_("No"))); printf (_("Router preference : %6s\n"), pref_i2n (v)); /* Router lifetime */ fputs (_("Router lifetime : "), stdout); v = ntohs (ra->nd_ra_router_lifetime); printf (_("%12u (0x%08x) %s\n"), v, v, ngettext ("second", "seconds", v)); /* ND Reachable time */ fputs (_("Reachable time : "), stdout); v = ntohl (ra->nd_ra_reachable); if (v != 0) printf (_("%12u (0x%08x) %s\n"), v, v, ngettext ("millisecond", "milliseconds", v)); else fputs (_(" unspecified (0x00000000)\n"), stdout); /* ND Retransmit time */ fputs (_("Retransmit time : "), stdout); v = ntohl (ra->nd_ra_retransmit); if (v != 0) printf (_("%12u (0x%08x) %s\n"), v, v, ngettext ("millisecond", "milliseconds", v)); else fputs (_(" unspecified (0x00000000)\n"), stdout); } len -= sizeof (struct nd_router_advert); /* parses options */ ptr = buf + sizeof (struct nd_router_advert); while (len >= 8) { uint16_t optlen; optlen = ((uint16_t)(ptr[1])) << 3; if ((optlen == 0) /* invalid length */ || (len < optlen) /* length > remaining bytes */) break; len -= optlen; /* only prefix are shown if not verbose */ switch (ptr[0] * (verbose ? 1 : (ptr[0] == ND_OPT_PREFIX_INFORMATION))) { case ND_OPT_SOURCE_LINKADDR: fputs (_(" Source link-layer address: "), stdout); printmacaddress (ptr + 2, optlen - 2); break; case ND_OPT_TARGET_LINKADDR: break; /* ignore */ case ND_OPT_PREFIX_INFORMATION: if (parseprefix ((const struct nd_opt_prefix_info *)ptr, optlen, verbose)) return -1; case ND_OPT_REDIRECTED_HEADER: break; /* ignore */ case ND_OPT_MTU: parsemtu ((const struct nd_opt_mtu *)ptr); break; case 24: // RFC4191 parseroute (ptr); break; case 25: // RFC5006 parserdnss (ptr); break; } /* skips unrecognized option */ ptr += optlen; } return 0; } #endif static ssize_t recvfromLL (int fd, void *buf, size_t len, int flags, struct sockaddr_in6 *addr) { char cbuf[CMSG_SPACE (sizeof (int))]; struct iovec iov = { .iov_base = buf, .iov_len = len }; struct msghdr hdr = { .msg_name = addr, .msg_namelen = sizeof (*addr), .msg_iov = &iov, .msg_iovlen = 1, .msg_control = cbuf, .msg_controllen = sizeof (cbuf) }; ssize_t val = recvmsg (fd, &hdr, flags); if (val == -1) return val; /* ensures the hop limit is 255 */ for (struct cmsghdr *cmsg = CMSG_FIRSTHDR (&hdr); cmsg != NULL; cmsg = CMSG_NXTHDR (&hdr, cmsg)) { if ((cmsg->cmsg_level == IPPROTO_IPV6) && (cmsg->cmsg_type == IPV6_HOPLIMIT)) { if (255 != *(int *)CMSG_DATA (cmsg)) { // pretend to be a spurious wake-up errno = EAGAIN; return -1; } } } return val; } static ssize_t recvadv (int fd, const struct sockaddr_in6 *tgt, unsigned wait_ms, unsigned flags) { struct timespec now, end; unsigned responses = 0; /* computes deadline time */ mono_gettime (&now); { div_t d; d = div (wait_ms, 1000); end.tv_sec = now.tv_sec + d.quot; end.tv_nsec = now.tv_nsec + (d.rem * 1000000); } /* receive loop */ for (;;) { /* waits for reply until deadline */ ssize_t val = 0; if (end.tv_sec >= now.tv_sec) { val = (end.tv_sec - now.tv_sec) * 1000 + (int)((end.tv_nsec - now.tv_nsec) / 1000000); if (val < 0) val = 0; } val = poll (&(struct pollfd){ .fd = fd, .events = POLLIN }, 1, val); if (val < 0) break; if (val == 0) return responses; /* receives an ICMPv6 packet */ // TODO: use interface MTU as buffer size union { uint8_t b[1460]; uint64_t align; } buf; struct sockaddr_in6 addr; val = recvfromLL (fd, &buf, sizeof (buf), MSG_DONTWAIT, &addr); if (val == -1) { if (errno != EAGAIN) perror (_("Receiving ICMPv6 packet")); continue; } /* ensures the response came through the right interface */ if (addr.sin6_scope_id && (addr.sin6_scope_id != tgt->sin6_scope_id)) continue; if (parseadv (buf.b, val, tgt, (flags & NDISC_VERBOSE) != 0) == 0) { if (flags & NDISC_VERBOSE) { char str[INET6_ADDRSTRLEN]; if (inet_ntop (AF_INET6, &addr.sin6_addr, str, sizeof (str)) != NULL) printf (_(" from %s\n"), str); } if (responses < INT_MAX) responses++; if (flags & NDISC_SINGLE) return 1 /* = responses */; } mono_gettime (&now); } return -1; /* error */ } static int fd; static int ndisc (const char *name, const char *ifname, unsigned flags, unsigned retry, unsigned wait_ms) { struct sockaddr_in6 tgt; if (fd == -1) { perror (_("Raw IPv6 socket")); return -1; } fcntl (fd, F_SETFD, FD_CLOEXEC); /* set ICMPv6 filter */ { struct icmp6_filter f; ICMP6_FILTER_SETBLOCKALL (&f); ICMP6_FILTER_SETPASS (nd_type_advert, &f); setsockopt (fd, IPPROTO_ICMPV6, ICMP6_FILTER, &f, sizeof (f)); } setsockopt (fd, SOL_SOCKET, SO_DONTROUTE, &(int){ 1 }, sizeof (int)); /* sets Hop-by-hop limit to 255 */ sethoplimit (fd, 255); setsockopt (fd, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &(int){ 1 }, sizeof (int)); /* resolves target's IPv6 address */ if (getipv6byname (name, ifname, (flags & NDISC_NUMERIC) ? 1 : 0, &tgt)) goto error; else { char s[INET6_ADDRSTRLEN]; inet_ntop (AF_INET6, &tgt.sin6_addr, s, sizeof (s)); if (flags & NDISC_VERBOSE) printf (_("Soliciting %s (%s) on %s...\n"), name, s, ifname); } { solicit_packet packet; struct sockaddr_in6 dst; ssize_t plen; memcpy (&dst, &tgt, sizeof (dst)); plen = buildsol (&packet, &dst, ifname); if (plen == -1) goto error; while (retry > 0) { /* sends a Solitication */ if (sendto (fd, &packet, plen, 0, (const struct sockaddr *)&dst, sizeof (dst)) != plen) { perror (_("Sending ICMPv6 packet")); goto error; } retry--; /* receives an Advertisement */ ssize_t val = recvadv (fd, &tgt, wait_ms, flags); if (val > 0) { close (fd); return 0; } else if (val == 0) { if (flags & NDISC_VERBOSE) puts (_("Timed out.")); } else goto error; } } close (fd); if (flags & NDISC_VERBOSE) puts (_("No response.")); return -2; error: close (fd); return -1; } static int quick_usage (const char *path) { fprintf (stderr, _("Try \"%s -h\" for more information.\n"), path); return 2; } static int usage (const char *path) { printf (gettext (ndisc_usage), path); printf (_("\n" " -1, --single display first response and exit\n" " -h, --help display this help and exit\n" " -m, --multiple wait and display all responses\n" " -n, --numeric don't resolve host names\n" " -q, --quiet only print the %s (mainly for scripts)\n" " -r, --retry maximum number of attempts (default: 3)\n" " -V, --version display program version and exit\n" " -v, --verbose verbose display (this is the default)\n" " -w, --wait how long to wait for a response [ms] (default: 1000)\n" "\n"), gettext (ndisc_dataname)); return 0; } static int version (void) { printf (_( "ndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s)\n"), VERSION, "$Rev: 657 $"); printf (_(" built %s on %s\n"), __DATE__, PACKAGE_BUILD_HOSTNAME); printf (_("Configured with: %s\n"), PACKAGE_CONFIGURE_INVOCATION); puts (_("Written by Remi Denis-Courmont\n")); printf (_("Copyright (C) %u-%u Remi Denis-Courmont\n"), 2004, 2007); puts (_("This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n")); return 0; } static const struct option opts[] = { { "single", no_argument, NULL, '1' }, { "help", no_argument, NULL, 'h' }, { "multiple", required_argument, NULL, 'm' }, { "numeric", no_argument, NULL, 'n' }, { "quiet", no_argument, NULL, 'q' }, { "retry", required_argument, NULL, 'r' }, { "version", no_argument, NULL, 'V' }, { "verbose", no_argument, NULL, 'v' }, { "wait", required_argument, NULL, 'w' }, { NULL, 0, NULL, 0 } }; int main (int argc, char *argv[]) { fd = socket (PF_INET6, SOCK_RAW, IPPROTO_ICMPV6); int errval = errno; /* Drops root privileges (if setuid not run by root). * Also make sure the socket is not STDIN/STDOUT/STDERR. */ if (setuid (getuid ()) || ((fd >= 0) && (fd <= 2))) return 1; setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); int val; unsigned retry = 3, flags = ndisc_default, wait_ms = nd_delay_ms; const char *hostname, *ifname; while ((val = getopt_long (argc, argv, "1hmnqr:Vvw:", opts, NULL)) != EOF) { switch (val) { case '1': flags |= NDISC_SINGLE; break; case 'h': return usage (argv[0]); case 'm': flags &= ~NDISC_SINGLE; break; case 'n': flags |= NDISC_NUMERIC; break; case 'q': flags &= ~NDISC_VERBOSE; break; case 'r': { unsigned long l; char *end; l = strtoul (optarg, &end, 0); if (*end || l > UINT_MAX) return quick_usage (argv[0]); retry = l; break; } case 'V': return version (); case 'v': /* NOTE: assume NDISC_VERBOSE occupies low-order bits */ if ((flags & NDISC_VERBOSE) < NDISC_VERBOSE) flags++; break; case 'w': { unsigned long l; char *end; l = strtoul (optarg, &end, 0); if (*end || l > UINT_MAX) return quick_usage (argv[0]); wait_ms = l; break; } case '?': default: return quick_usage (argv[0]); } } if (optind < argc) { hostname = argv[optind++]; if (optind < argc) ifname = argv[optind++]; else ifname = NULL; } else return quick_usage (argv[0]); #ifdef RDISC if (ifname == NULL) { ifname = hostname; hostname = "ff02::2"; } else #endif if ((optind != argc) || (ifname == NULL)) return quick_usage (argv[0]); errno = errval; /* restore socket() error value */ return -ndisc (hostname, ifname, flags, retry, wait_ms); } ndisc6-1.0.1/src/gen-alias0000755000175000001440000000260310656356004012177 00000000000000#! /bin/sh # ************************************************************************* # * Copyright © 2006 Rémi Denis-Courmont. * # * This program is free software: you can redistribute and/or modify * # * it under the terms of the GNU General Public License as published by * # * the Free Software Foundation, versions 2 or 3 of the license. * # * * # * This program is distributed in the hope that it will be useful, * # * but WITHOUT ANY WARRANTY; without even the implied warranty of * # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * # * GNU General Public License for more details. * # * * # * You should have received a copy of the GNU General Public License * # * along with this program. If not, see . * # ************************************************************************* set -e FRONTEND="$1" BACKEND="$2" PARAMS="$3" if [ -z "$PARAMS" ]; then echo "Usage: $0 " >&2 exit 1 fi BACKEND="`echo "${BACKEND}" | sed "${transform}"`" rm -f "${FRONTEND}" cat > "$FRONTEND" << EOF #! /bin/sh exec "\$(dirname \$0)/${BACKEND}" ${PARAMS} "\$@" EOF chmod +rx "$FRONTEND" ndisc6-1.0.1/src/tcptraceroute.c0000644000175000001440000001405110656356262013447 00000000000000/* * tcptraceroute.c - tcptraceroute-like wrapper around rltraceroute6 * $Id: tcptraceroute.c 483 2007-08-08 15:09:36Z remi $ */ /************************************************************************* * Copyright © 2005-2006 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #ifdef HAVE_GETOPT_H # include #endif #include static int quick_usage (const char *path) { fprintf (stderr, _("Try \"%s -h\" for more information.\n"), path); return 2; } static int usage (const char *path) { printf (_( "Usage: %s [options] [%s]\n" "Print IPv6 network route to a host\n"), path, _("port number")); puts (_("\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in probe packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -i force outgoing network interface\n" //" -l display incoming packets hop limit\n" -- FIXME " -l set probes byte size\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override source TCP port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes (default)\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -V, --version display program version and exit\n" /*" -v, --verbose display all kind of ICMPv6 errors\n"*/ " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" )); return 0; } static const struct option opts[] = { { "ack", no_argument, NULL, 'A' }, { "debug", no_argument, NULL, 'd' }, { "ecn", no_argument, NULL, 'E' }, // -F is a stub { "first", required_argument, NULL, 'f' }, { "segment", required_argument, NULL, 'g' }, { "help", no_argument, NULL, 'h' }, { "iface", required_argument, NULL, 'i' }, { "length", required_argument, NULL, 'l' }, { "max", required_argument, NULL, 'm' }, // -N is not really a stub, should have a long name { "numeric", no_argument, NULL, 'n' }, { "port", required_argument, NULL, 'p' }, { "retry", required_argument, NULL, 'q' }, { "noroute", no_argument, NULL, 'r' }, { "syn", no_argument, NULL, 'S' }, { "source", required_argument, NULL, 's' }, { "tclass", required_argument, NULL, 't' }, { "version", no_argument, NULL, 'V' }, /*{ "verbose", no_argument, NULL, 'v' },*/ { "wait", required_argument, NULL, 'w' }, // -x is a stub { "delay", required_argument, NULL, 'z' }, { NULL, 0, NULL, 0 } }; static const char optstr[] = "AdEFf:g:hi:l:m:Nnp:q:rSs:t:Vw:xz:"; static const char bin_name[] = RLTRACEROUTE6; int main (int argc, char *argv[]) { setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); /* Determine path to wrapped binary */ char arg0[strlen (argv[0]) + sizeof (bin_name)]; strcpy (arg0, argv[0]); char *ptr = strrchr (arg0, '/'); if (ptr != NULL) ptr++; else ptr = arg0; strcpy (ptr, bin_name); /* Prepare big enough buffers */ unsigned len = 0; for (int i = 1; i < argc; i++) len += strlen (argv[i]); char optbuf[3 * len + argc], *buf = optbuf; char *optv[argc + len + /* "-S", "-p", NULL */ 3]; char *psize = NULL; int val, optc = 0; optv[optc++] = arg0; optv[optc++] = "-S"; while ((val = getopt_long (argc, argv, optstr, opts, NULL)) != EOF) { assert (optbuf + sizeof (optbuf) > buf); assert ((sizeof (optv) / sizeof (optv[0])) > (unsigned)optc); char name; switch (val) { case 'h': return usage (argv[0]); case 'V': optc = 1; optv[optc++] = "-V"; goto run; case '?': return quick_usage (argv[0]); case 'l': /* Packet size */ psize = optarg; continue; case 'p': /* Source port number */ name = 'P'; // traceroute6 secret name for this break; default: name = (char)val; } assert (strchr (optstr, val) != NULL); optv[optc++] = buf; *buf++ = '-'; *buf++ = name; *buf++ = '\0'; if ((strchr (optstr, val))[1] != ':') continue; // no_argument option optv[optc++] = optarg; } switch (argc - optind) { case 2: case 1: break; default: return quick_usage (argv[0]); } /* Destination host */ char *dsthost = argv[optind++]; /* Destination port number */ optv[optc++] = "-p"; optv[optc++] = (optind < argc) ? argv[optind] : "80"; optind++; /* Inserts destination */ if (dsthost != NULL) optv[optc++] = dsthost; /* Inserts packet size */ if (psize != NULL) optv[optc++] = psize; run: assert (optbuf + sizeof (optbuf) >= buf); assert ((sizeof (optv) / sizeof (optv[0])) > (unsigned)optc); optv[optc] = NULL; execvp (optv[0], optv); perror (optv[0]); exit (2); } ndisc6-1.0.1/m4/0000755000175000001440000000000011530146510010210 500000000000000ndisc6-1.0.1/m4/Makefile.in0000644000175000001440000002363311470554041012211 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 - m4 Makefile for ndisc6 # $Id: Makefile.am 484 2007-08-08 15:11:29Z remi $ # Copyright © 2006 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@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@ subdir = m4 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hostname.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/sockaddr.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBRT = @LIBRT@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ 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@ EXTRA_DIST = sockaddr.m4 getopt.m4 all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu m4/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am 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-generic pdf pdf-am ps ps-am uninstall uninstall-am # 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: ndisc6-1.0.1/m4/nls.m40000644000175000001440000000226610707700362011202 00000000000000# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) ndisc6-1.0.1/m4/gettext.m40000644000175000001440000003457010753073706012103 00000000000000# gettext.m4 serial 60 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) ndisc6-1.0.1/m4/Makefile.am0000644000175000001440000000036110656356443012204 00000000000000# Makefile.am - m4 Makefile for ndisc6 # $Id: Makefile.am 484 2007-08-08 15:11:29Z remi $ # Copyright © 2006 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. EXTRA_DIST = sockaddr.m4 getopt.m4 ndisc6-1.0.1/m4/progtest.m40000644000175000001440000000555010707700362012254 00000000000000# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) ndisc6-1.0.1/m4/iconv.m40000644000175000001440000001375310753073706011535 00000000000000# iconv.m4 serial AM6 (gettext-0.17) dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) ndisc6-1.0.1/m4/hostname.m40000644000175000001440000000066710707700055012226 00000000000000# hostname.m4 dnl Copyright (C) 2003-2004 Remi Denis-Courmont dnl From Remi Denis-Courmont AC_DEFUN([RDC_BUILD_HOSTNAME], [AC_CACHE_CHECK([for build hostname], rdc_cv_build_hostname, [rdc_cv_build_hostname=`hostname -f 2>/dev/null || uname -n 2>/dev/null || hostname 2>/dev/null || echo "unknown"` ]) AC_DEFINE_UNQUOTED(PACKAGE_BUILD_HOSTNAME, "$rdc_cv_build_hostname", [Define to the hostname of the host who builds the package.]) ]) ndisc6-1.0.1/m4/sockaddr.m40000644000175000001440000001275511463353747012217 00000000000000# sockaddr.m4 # Copyright (C) 2003-2004 Remi Denis-Courmont # . # This file (sockaddr.m4) is free software; 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. dnl SHOULD check , before that AC_DEFUN([RDC_STRUCT_SOCKADDR_LEN], [AC_LANG_ASSERT(C) AH_TEMPLATE(HAVE_SA_LEN, [Define to 1 if `struct sockaddr' has a `sa_len' member.]) AC_CACHE_CHECK([if struct sockaddr has a sa_len member], rdc_cv_struct_sockaddr_len, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ [#if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_SOCKET_H # include #elif HAVE_WINSOCK2_H # include #endif]], [[struct sockaddr addr; addr.sa_len = 0;]])], rdc_cv_struct_sockaddr_len=yes, rdc_cv_struct_sockaddr_len=no)]) AS_IF([test $rdc_cv_struct_sockaddr_len = yes], [AC_DEFINE(HAVE_SA_LEN)]) ]) dnl SHOULD check , before that AC_DEFUN([RDC_STRUCT_SOCKADDR_STORAGE], [AC_LANG_ASSERT(C) AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if does not define.]) AH_TEMPLATE(ss_family, [Define to `sa_family' if does not define.]) AC_CACHE_CHECK([for struct sockaddr_storage in sys/socket.h], rdc_cv_struct_sockaddr_storage, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ [#if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_SOCKET_H # include #elif HAVE_WINSOCK2_H # include #endif]], [[struct sockaddr_storage addr; addr.ss_family = 0;]])], rdc_cv_struct_sockaddr_storage=yes, rdc_cv_struct_sockaddr_storage=no)]) AS_IF([test $rdc_cv_struct_sockaddr_storage = no], [AC_DEFINE(sockaddr_storage, sockaddr) AC_DEFINE(ss_family, sa_family)]) ]) dnl SHOULD check , before that AC_DEFUN([RDC_TYPE_SOCKLEN_T], [AC_LANG_ASSERT(C) AH_TEMPLATE(socklen_t, [Define to `int' if does not define.]) AC_CACHE_CHECK([for socklen_t in sys/socket.h], rdc_cv_type_socklen_t, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ [#if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_SOCKET_H # include #elif HAVE_WINSOCK2_H # include #endif]], [[socklen_t len; len = 0;]])], rdc_cv_type_socklen_t=yes, rdc_cv_type_socklen_t=no)]) AS_IF([test "$rdc_cv_type_socklen_t" = no], [AC_DEFINE(socklen_t, int)]) ]) dnl SHOULD check before that AC_DEFUN([RDC_FUNC_SOCKET], [AC_LANG_ASSERT(C) AC_SEARCH_LIBS(socket, [socket], rdc_cv_func_socket=yes, dnl AC_SEARCH_LIBS(socket, [ws2_32]) does not work with Mingw32 [AC_CACHE_CHECK([for socket in -lws2_32], rdc_cv_func_socket_ws2_32, [rdc_func_socket_save_LIBS=$LIBS LIBS="-lws2_32 $LIBS" AC_LINK_IFELSE([AC_LANG_PROGRAM([ [#if HAVE_WINSOCK2_H # include #endif]], [[socket(0, 0, 0);]])], rdc_cv_func_socket_ws2_32=yes, rdc_cv_func_socket_ws2_32=no) LIBS=$rdv_func_socket_save_LIBS]) AS_IF([test "$rdc_cv_func_socket_ws2_32" = yes], [rdc_cv_func_socket=yes; LIBS="-lws2_32 $LIBS"]) ]) AS_IF([test "$rdc_cv_func_socket" = yes], [$1], [$2]) ]) dnl SHOULD check , , before that dnl NOTE: does not check required library dnl (-lresolv is NOT needed on Solaris, but -lws2_32 is required on Windows) AC_DEFUN([RDC_FUNC_GETADDRINFO], [AC_LANG_ASSERT(C) AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.]) AH_TEMPLATE(HAVE_GETNAMEINFO, [Define to 1 if you have the `getnameinfo' function.]) AH_TEMPLATE(HAVE_GAI_STRERROR, [Define to 1 if you have the `gai_strerror' function.]) gai_support=yes AC_CACHE_CHECK([for getaddrinfo], rdc_cv_func_getaddrinfo, [AC_LINK_IFELSE([AC_LANG_PROGRAM([ [#if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_SOCKET_H # include #elif HAVE_WINSOCK2_H # include # include #endif #if HAVE_NETDB_H # include #endif]], [[getaddrinfo(0,0,0,0);]])], rdc_cv_func_getaddrinfo=yes, rdc_cv_func_getaddrinfo=no)]) AS_IF([test $rdc_cv_func_getaddrinfo = yes], [AC_DEFINE(HAVE_GETADDRINFO) dnl Cannot have getnameinfo if not getaddrinfo AC_CACHE_CHECK([for getnameinfo], rdc_cv_func_getnameinfo, [AC_LINK_IFELSE([AC_LANG_PROGRAM([ [#if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_SOCKET_H # include #elif HAVE_WINSOCK2_H # include # include #endif #if HAVE_NETDB_H # include #endif]], [[getnameinfo(0,0,0,0,0,0,0);]])], rdc_cv_func_getnameinfo=yes, rdc_cv_func_getnameinfo=no)]) AS_IF([test $rdc_cv_func_getnameinfo = yes], [AC_DEFINE(HAVE_GETNAMEINFO)], [gai_support=no]) dnl Cannot have gai_strerror if not getaddrinfo AC_CACHE_CHECK([for gai_strerror], rdc_cv_func_gai_strerror, [AC_LINK_IFELSE([AC_LANG_PROGRAM([ [#if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_SOCKET_H # include #elif HAVE_WINSOCK2_H # include # include #endif #if HAVE_NETDB_H # include #endif]], [[gai_strerror(0);]])], rdc_cv_func_gai_strerror=yes, rdc_cv_func_gai_strerror=no)]) AS_IF([test $rdc_cv_func_gai_strerror = yes], [AC_DEFINE(HAVE_GAI_STRERROR)], [gai_support=no]) ]) AC_LIBSOURCES([getaddrinfo.h, getaddrinfo.c])dnl AS_IF([test $gai_support = no], [AC_CHECK_HEADERS([arpa/inet.h netinet/in.h]) AC_SEARCH_LIBS(gethostbyaddr, [resolv]) AC_LIBOBJ(getaddrinfo)]) ]) ndisc6-1.0.1/m4/lib-ld.m40000644000175000001440000000653110707700362011550 00000000000000# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) ndisc6-1.0.1/m4/po.m40000644000175000001440000004460610753073706011036 00000000000000# po.m4 serial 15 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" <= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Autoconf >= 2.61 supports dots in --with options. define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], [ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIB[]NAME[]_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) ndisc6-1.0.1/m4/intlmacosx.m40000644000175000001440000000456510753073706012601 00000000000000# intlmacosx.m4 serial 1 (gettext-0.17) dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) ndisc6-1.0.1/m4/lib-prefix.m40000644000175000001440000001503610707700362012446 00000000000000# lib-prefix.m4 serial 5 (gettext-0.15) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing dnl the basename of the libdir, either "lib" or "lib64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. The current dnl practice is that on a system supporting 32-bit and 64-bit instruction dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit dnl libraries go under $prefix/lib. We determine the compiler's default dnl mode by looking at the compiler's library search path. If at least dnl of its elements ends in /lib64 or points to a directory whose absolute dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the dnl default, namely "lib". acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ]) ndisc6-1.0.1/m4/getopt.m40000644000175000001440000000167610707700055011713 00000000000000# getopt.m4 dnl Copyright (C) 2003-2004 Remi Denis-Courmont dnl From Remi Denis-Courmont AC_DEFUN([RDC_FUNC_GETOPT_LONG], [AC_CHECK_HEADERS(getopt.h) AH_TEMPLATE([HAVE_GETOPT_LONG], [Define to 1 if you have the `getopt_long' function.]) AC_SEARCH_LIBS(getopt_long, [gnugetopt], have_getopt_long=yes, have_getopt_long=no) if test $have_getopt_long = yes; then AC_DEFINE(HAVE_GETOPT_LONG) $1 else $2 false fi ]) AC_DEFUN([RDC_REPLACE_FUNC_GETOPT_LONG], [AH_BOTTOM([/* Fallback replacement for GNU `getopt_long' */ #ifndef HAVE_GETOPT_LONG # define getopt_long( argc, argv, optstring, longopts, longindex ) \ getopt (argc, argv, optstring) # if !GETOPT_STRUCT_OPTION && !HAVE_GETOPT_H struct option { const char *name; int has_arg; int *flag; int val; }; # define GETOPT_STRUCT_OPTION 1 # endif # ifndef required_argument # define no_argument 0 # define required_argument 1 # define optional_argument 2 # endif #endif]) RDC_FUNC_GETOPT_LONG ]) ndisc6-1.0.1/configure.ac0000644000175000001440000000765011470554022012112 00000000000000dnl configure.ac - Configure script for ndisc6 dnl based on earlier configure.ac from tcpreen by the same author dnl Process this file with GNU Autoconf to produce a configure script dnl ************************************************************************* dnl * Copyright © 2002-2008 Rémi Denis-Courmont. * dnl * This program is free software: you can redistribute and/or modify * dnl * it under the terms of the GNU General Public License as published by * dnl * the Free Software Foundation, version 2 or 3 of the license. * dnl * * dnl * This program is distributed in the hope that it will be useful, * dnl * but WITHOUT ANY WARRANTY; without even the implied warranty of * dnl * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * dnl * GNU General Public License for more details. * dnl * * dnl * You should have received a copy of the GNU General Public License * dnl * along with this program. If not, see . * dnl ************************************************************************* AC_COPYRIGHT([Copyright (C) 2005-2010 Remi Denis-Courmont]) AC_INIT(ndisc6, 1.0.1, remi_no_bulk_mail@remlab.net) AC_PREREQ(2.62) INVOCATION="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" AS_MESSAGE(checking system...) AC_CONFIG_SRCDIR(configure.ac) AC_CONFIG_AUX_DIR(admin) AC_CONFIG_MACRO_DIR(m4) AC_CONFIG_HEADERS(config.h) AC_DEFINE_UNQUOTED(PACKAGE_CONFIGURE_INVOCATION, "$INVOCATION", [Define to the command line used to invoke the configure script.]) RDC_BUILD_HOSTNAME # Checks for programs. AS_MESSAGE([checking required programs...]) AC_PROG_CC_C99 AM_PROG_CC_C_O AC_USE_SYSTEM_EXTENSIONS AC_PROG_RANLIB AC_PATH_PROG(PERL, perl, :) AC_ARG_VAR(PERL, [Perl interpreter]) AS_IF([test "x${enable_silent_rules}" = "x"], [ enable_silent_rules="yes" ]) AM_INIT_AUTOMAKE AM_SILENT_RULES # Checks for libraries. AS_MESSAGE([checking required libraries...]) LIBRT="" AC_CHECK_LIB([rt], clock_gettime, [LIBRT="-lrt"]) AC_SUBST(LIBRT) AM_GNU_GETTEXT_VERSION([0.17]) AM_GNU_GETTEXT([external], [need-ngettext]) dnl AC_DEFINE_UNQUOTED(PACKAGE_BUILD, "$build", dnl [Define to the canonical build-system name]) dnl AC_DEFINE_UNQUOTED(PACKAGE_HOST, "$host", dnl [Define to the canonical host-system name]) # Checks for header files. AS_MESSAGE([checking header files...]) AC_HEADER_ASSERT # Checks for typedefs, structures, and compiler characteristics. dnl AS_MESSAGE([checking target characteristics...]) dnl AC_C_BIGENDIAN dnl RDC_STRUCT_SOCKADDR_LEN # Checks for library functions. AS_MESSAGE([checking library functions...]) RDC_REPLACE_FUNC_GETOPT_LONG LIBS_save="$LIBS" LIBS="$LIBRT $LIBS" AC_CHECK_FUNCS([clock_nanosleep]) LIBS="$LIBS_save" AC_REPLACE_FUNCS([fdatasync inet6_rth_add ppoll]) # Network stuff RDC_FUNC_SOCKET AC_SEARCH_LIBS(inet_ntop, [nsl]) # Checks for optionnal features AS_MESSAGE([checking optional features...]) AC_MSG_CHECKING([if installed programs should be setuid]) AC_ARG_ENABLE(suid-install, [AS_HELP_STRING(--disable-suid-install, [do not set the SetUID bit on installed programs])]) AS_IF([test "x${enable_suid_install}" != "xno"], [enable_suid_install=yes]) AM_CONDITIONAL(NOSUID, [test "${enable_suid_install}" = "no"]) AC_MSG_RESULT([${enable_suid_install}]) # Defines for AH_BOTTOM([ #include "compat/fixups.h" #ifndef HAVE_CLOCK_NANOSLEEP # define clock_nanosleep( c, f, d, r ) nanosleep( d, r ) #endif #define _( str ) gettext (str) #define N_( str ) gettext_noop (str) ]) # END AS_MESSAGE(writing results...) AC_CONFIG_FILES([Makefile m4/Makefile po/Makefile.in doc/Makefile compat/Makefile src/Makefile rdnssd/Makefile ]) AC_OUTPUT ndisc6-1.0.1/include/0000755000175000001440000000000011530146507011321 500000000000000ndisc6-1.0.1/include/gettext.h0000644000175000000000000002311711445464365013103 00000000000000/* Convenience header for conditional use of GNU . Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include /* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by the gettext() and ngettext() macros. This is an alternative to calling textdomain(), and is useful for libraries. */ # ifdef DEFAULT_TEXT_DOMAIN # undef gettext # define gettext(Msgid) \ dgettext (DEFAULT_TEXT_DOMAIN, Msgid) # undef ngettext # define ngettext(Msgid1, Msgid2, N) \ dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) # endif #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. We don't include as well because people using "gettext.h" will not include , and also including would fail on SunOS 4, whereas is OK. */ #if defined(__sun) # include #endif /* Many header files from the libstdc++ coming with g++ 3.3 or newer include , which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. */ #if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) # include # if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H # include # endif #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ # undef gettext # define gettext(Msgid) ((const char *) (Msgid)) # undef dgettext # define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) # undef dcgettext # define dcgettext(Domainname, Msgid, Category) \ ((void) (Category), dgettext (Domainname, Msgid)) # undef ngettext # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 \ ? ((void) (Msgid2), (const char *) (Msgid1)) \ : ((void) (Msgid1), (const char *) (Msgid2))) # undef dngettext # define dngettext(Domainname, Msgid1, Msgid2, N) \ ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) # undef dcngettext # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N)) # undef textdomain # define textdomain(Domainname) ((const char *) (Domainname)) # undef bindtextdomain # define bindtextdomain(Domainname, Dirname) \ ((void) (Domainname), (const char *) (Dirname)) # undef bind_textdomain_codeset # define bind_textdomain_codeset(Domainname, Codeset) \ ((void) (Domainname), (const char *) (Codeset)) #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String /* The separator between msgctxt and msgid in a .mo file. */ #define GETTEXT_CONTEXT_GLUE "\004" /* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be short and rarely need to change. The letter 'p' stands for 'particular' or 'special'. */ #ifdef DEFAULT_TEXT_DOMAIN # define pgettext(Msgctxt, Msgid) \ pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #else # define pgettext(Msgctxt, Msgid) \ pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #endif #define dpgettext(Domainname, Msgctxt, Msgid) \ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) #ifdef DEFAULT_TEXT_DOMAIN # define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #else # define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #endif #define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * pgettext_aux (const char *domain, const char *msg_ctxt_id, const char *msgid, int category) { const char *translation = dcgettext (domain, msg_ctxt_id, category); if (translation == msg_ctxt_id) return msgid; else return translation; } #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * npgettext_aux (const char *domain, const char *msg_ctxt_id, const char *msgid, const char *msgid_plural, unsigned long int n, int category) { const char *translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); if (translation == msg_ctxt_id || translation == msgid_plural) return (n == 1 ? msgid : msgid_plural); else return translation; } /* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID can be arbitrary expressions. But for string literals these macros are less efficient than those above. */ #include #define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \ /* || __STDC_VERSION__ >= 199901L */ ) #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS #include #endif #define pgettext_expr(Msgctxt, Msgid) \ dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) #define dpgettext_expr(Domainname, Msgctxt, Msgid) \ dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * dcpgettext_expr (const char *domain, const char *msgctxt, const char *msgid, int category) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; const char *translation; #if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS char msg_ctxt_id[msgctxt_len + msgid_len]; #else char buf[1024]; char *msg_ctxt_id = (msgctxt_len + msgid_len <= sizeof (buf) ? buf : (char *) malloc (msgctxt_len + msgid_len)); if (msg_ctxt_id != NULL) #endif { memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcgettext (domain, msg_ctxt_id, category); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif if (translation != msg_ctxt_id) return translation; } return msgid; } #define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) #define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * dcnpgettext_expr (const char *domain, const char *msgctxt, const char *msgid, const char *msgid_plural, unsigned long int n, int category) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; const char *translation; #if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS char msg_ctxt_id[msgctxt_len + msgid_len]; #else char buf[1024]; char *msg_ctxt_id = (msgctxt_len + msgid_len <= sizeof (buf) ? buf : (char *) malloc (msgctxt_len + msgid_len)); if (msg_ctxt_id != NULL) #endif { memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif if (!(translation == msg_ctxt_id || translation == msgid_plural)) return translation; } return (n == 1 ? msgid : msgid_plural); } #endif /* _LIBGETTEXT_H */ ndisc6-1.0.1/Makefile.am0000644000175000001440000000216711327002212011644 00000000000000# Makefile.am - master Makefile for ndisc6 # $Id: Makefile.am 639 2010-01-24 08:27:53Z remi $ # Copyright © 2006 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = \ 1.11 \ check-news \ dist-bzip2 \ no-dist-gzip \ no-exeext \ std-options \ -Wall SUBDIRS = po doc compat src rdnssd DIST_SUBDIRS = m4 $(SUBDIRS) noinst_HEADERS = include/gettext.h DISTCLEANFILES = stamp-svn distcheck-hook: cd doc && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook distclean-local: test "$(top_srcdir)" = "$(top_builddir)" || rm -f ChangeLog dist-hook: stamp-svn stamp-svn: @rev=$$(LANG=C svnversion "$(srcdir)" 2>/dev/null || echo exported) ; \ oldrev=$$(cat stamp-svn 2>/dev/null || true) ; \ if test "$$rev" != "$$oldrev"; then \ echo "New SVN revision is $$rev." ; \ if test "$$rev" != "exported"; then \ echo -n "Rebuilding ChangeLog... " ; \ LANG=C svn -v --non-interactive log "$(srcdir)" > ChangeLog || exit $$? ; \ echo "OK" ; \ fi ; \ echo "$$rev" > $@ ; \ fi ChangeLog: $(MAKE) $(AM_MAKEFLAGS) stamp-svn touch $@ .PHONY: stamp-svn ndisc6-1.0.1/compat/0000755000175000001440000000000011530146511011154 500000000000000ndisc6-1.0.1/compat/Makefile.in0000644000175000001440000003673211470554040013157 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 - compat/ directory Makefile for ndisc6 # # *********************************************************************** # * Copyright © 2006-2008 Rémi Denis-Courmont. * # * This program is free software; you can redistribute and/or modify * # * it under the terms of the GNU General Public License as published * # * by the Free Software Foundation; version 2 of the license, or (at * # * your option) any later version. * # * * # * This program is distributed in the hope that it will be useful, * # * but WITHOUT ANY WARRANTY; without even the implied warranty of * # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * # * See the GNU General Public License for more details. * # * * # * You should have received a copy of the GNU General Public License * # * along with this program; if not, you can get it from: * # * http://www.gnu.org/copyleft/gpl.html * # *********************************************************************** VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@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@ subdir = compat DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in fdatasync.c \ inet6_rth_add.c ppoll.c ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hostname.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/sockaddr.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_$(V)) am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) am__v_AR_0 = @echo " AR " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ libcompat_a_AR = $(AR) $(ARFLAGS) libcompat_a_DEPENDENCIES = $(LIBOBJS) am_libcompat_a_OBJECTS = dummy.$(OBJEXT) libcompat_a_OBJECTS = $(am_libcompat_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/admin/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libcompat_a_SOURCES) DIST_SOURCES = $(libcompat_a_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBRT = @LIBRT@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ 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@ AM_CPPFLAGS = -I@top_srcdir@ noinst_LIBRARIES = libcompat.a libcompat_a_SOURCES = fixups.h dummy.c libcompat_a_LIBADD = $(LIBOBJS) all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu compat/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu compat/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libcompat.a: $(libcompat_a_OBJECTS) $(libcompat_a_DEPENDENCIES) $(AM_V_at)-rm -f libcompat.a $(AM_V_AR)$(libcompat_a_AR) libcompat.a $(libcompat_a_OBJECTS) $(libcompat_a_LIBADD) $(AM_V_at)$(RANLIB) libcompat.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fdatasync.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/inet6_rth_add.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ppoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummy.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @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@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @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) '$<'` 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am 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 pdf pdf-am ps ps-am tags uninstall \ uninstall-am # 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: ndisc6-1.0.1/compat/inet6_rth_add.c0000644000175000001440000000367610771417335014001 00000000000000/* * inet6_rth_add.c - inet6_rth_* replacement for Routing Header type 0 * $Id$ */ /************************************************************************* * Copyright © 2006 Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include socklen_t inet6_rth_space (int type, int segments) { if ((type != IPV6_RTHDR_TYPE_0) || (segments < 0) || (segments > 127)) return 0; return 8 + (segments * 16); } void *inet6_rth_init (void *bp, socklen_t bp_len, int type, int segments) { socklen_t needlen; needlen = inet6_rth_space (type, segments); if ((needlen == 0) || (bp_len < needlen)) return NULL; memset (bp, 0, needlen); ((uint8_t *)bp)[1] = segments * 2; /* type 0 specific */ ((uint8_t *)bp)[2] = type; return bp; } int inet6_rth_add (void *bp, const struct in6_addr *addr) { if (((uint8_t *)bp)[2] != IPV6_RTHDR_TYPE_0) return -1; memcpy (((uint8_t *)bp) + 8 + 16 * ((uint8_t *)bp)[3]++, addr, 16); return 0; } ndisc6-1.0.1/compat/Makefile.am0000644000175000001440000000254010771276652013151 00000000000000# Makefile.am - compat/ directory Makefile for ndisc6 # # *********************************************************************** # * Copyright © 2006-2008 Rémi Denis-Courmont. * # * This program is free software; you can redistribute and/or modify * # * it under the terms of the GNU General Public License as published * # * by the Free Software Foundation; version 2 of the license, or (at * # * your option) any later version. * # * * # * This program is distributed in the hope that it will be useful, * # * but WITHOUT ANY WARRANTY; without even the implied warranty of * # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * # * See the GNU General Public License for more details. * # * * # * You should have received a copy of the GNU General Public License * # * along with this program; if not, you can get it from: * # * http://www.gnu.org/copyleft/gpl.html * # *********************************************************************** AM_CPPFLAGS = -I@top_srcdir@ noinst_LIBRARIES = libcompat.a libcompat_a_SOURCES = fixups.h dummy.c libcompat_a_LIBADD = $(LIBOBJS) ndisc6-1.0.1/compat/fixups.h0000644000175000001440000000440610771423564012603 00000000000000/* * Various fixes for obsolete, or plain broken, C libraries. */ /*********************************************************************** * Copyright © 2006 Rémi Denis-Courmont. * * This program is free software; you can redistribute and/or modify * * it under the terms of the GNU General Public License as published * * by the Free Software Foundation; version 2 of the license, or (at * * your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, you can get it from: * * http://www.gnu.org/copyleft/gpl.html * ***********************************************************************/ #ifdef NDISC6_COMPAT_FIXUPS_H # error How come you include this header twice?! #endif #ifndef HAVE_FDATASYNC int fdatasync (int fd); #endif #ifndef HAVE_INET6_RTH_ADD # include # include /* Price of the totally broken OS goes to MacOS X, which declares these * functions, but does not define them! Bug inherited from FreeBSD 4 and * still not fixed (as of early 2008). */ # include # define inet6_rth_space working_inet6_rth_space # define inet6_rth_init working_inet6_rth_init # define inet6_rth_add working_inet6_rth_add struct in6_addr; socklen_t inet6_rth_space (int type, int segments); void *inet6_rth_init (void *bp, socklen_t bp_len, int type, int segments); int inet6_rth_add (void *bp, const struct in6_addr *addr); #endif #ifndef IPV6_RTHDR_TYPE_0 # define IPV6_RTHDR_TYPE_0 0 #endif #ifndef HAVE_PPOLL # include struct pollfd; struct timespec; int ppoll (struct pollfd *restrict fds, int n, const struct timespec *restrict ts, const sigset_t *restrict sigmask); #endif ndisc6-1.0.1/compat/ppoll.c0000644000175000001440000000431210771422452012375 00000000000000/* * ppoll.c - GNU extension ppoll() replacement */ /*********************************************************************** * Copyright © 2008 Rémi Denis-Courmont. * * This program is free software; you can redistribute and/or modify * * it under the terms of the GNU General Public License as published * * by the Free Software Foundation; version 2 of the license, or (at * * your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, you can get it from: * * http://www.gnu.org/copyleft/gpl.html * ***********************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #if 0 # include // sigprocmask is not thread-safe #endif int ppoll (struct pollfd *restrict fds, int n, const struct timespec *restrict ts, const sigset_t *restrict sigset) { sigset_t origset; int val; /* NOTE: ppoll() was introduced to fix the race condition between * sigprocmask()/pthread_sigmask() and poll(). This replacement * obviously reintroduces it. A more intricate implementation could * avoid this bug (at a high performance cost). */ #if 0 val = pthread_sigmask (SIG_SETMASK, sigset, &origset); if (val) { errno = val; return -1; } #else sigprocmask (SIG_SETMASK, sigset, &origset); #endif val = poll (fds, n, (ts->tv_sec * 1000) + (ts->tv_nsec / 1000000)); #if 0 pthread_sigmask (SIG_SETMASK, &origset, NULL); /* cannot fail */ #else sigprocmask (SIG_SETMASK, &origset, NULL); /* cannot fail */ #endif return val; } ndisc6-1.0.1/compat/dummy.c0000644000175000001440000000000010771276657012406 00000000000000ndisc6-1.0.1/compat/fdatasync.c0000644000175000001440000000247210771300152013220 00000000000000/* * fdatasync.c - fdatasync() replacement */ /*********************************************************************** * Copyright © 2006 Rémi Denis-Courmont. * * This program is free software; you can redistribute and/or modify * * it under the terms of the GNU General Public License as published * * by the Free Software Foundation; version 2 of the license, or (at * * your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, you can get it from: * * http://www.gnu.org/copyleft/gpl.html * ***********************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include int fdatasync (int fd) { return fsync (fd); } ndisc6-1.0.1/ABOUT-NLS0000644000175000001440000022532610753073706011065 000000000000001 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. If you happen to have the `LC_ALL' or some other `LC_xxx' environment variables set, you should unset them before setting `LANG', otherwise the setting of `LANG' will not have the desired effect. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://translationproject.org/', in the "Teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `coordinator@translationproject.org' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of November 2007. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ Compendium | [] [] [] [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] | bfd | | bibshelf | [] | binutils | | bison | [] [] | bison-runtime | [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] [] | console-tools | [] [] | coreutils | [] [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | dialog | | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | fetchmail | [] [] () [] [] | findutils | [] | findutils_stable | [] [] [] | flex | [] [] [] | fslint | | gas | | gawk | [] [] [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gip | [] | gliv | [] [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | [] [] () () [] | gnuedu | | gnulib | [] | gnunet | | gnunet-gtk | | gnutls | [] | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | | gramadoir | [] [] | grep | [] [] | gretl | () | gsasl | | gss | | gst-plugins-bad | [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gst-plugins-ugly | [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] [] | indent | [] [] [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] | iso_639 | [] [] [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | [] [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lprng | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] | make | [] [] | man-db | [] [] [] | minicom | [] [] [] | nano | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | popt | [] [] [] | psmisc | [] | pwdutils | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | shared-mime-info | [] [] [] [] () [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | skencil | [] () | solfege | | soundtracker | [] [] | sp | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] | texinfo | [] [] [] | tin | () () | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | util-linux-ng | [] [] [] [] | vorbis-tools | [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ Compendium | [] [] [] [] [] | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] | bfd | [] [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | dialog | [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | fetchmail | [] | findutils | [] [] [] | findutils_stable | [] [] [] [] | flex | [] [] [] | fslint | | gas | [] [] | gawk | [] [] [] [] () | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] | gip | [] [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnuedu | [] | gnulib | [] [] [] | gnunet | | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] [] | gpsdrive | [] | gramadoir | [] [] | grep | [] [] [] | gretl | [] [] [] () | gsasl | [] [] | gss | [] [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] | gstreamer | [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] [] [] | keytouch-editor | [] | keytouch-keyboa... | [] [] | latrine | [] [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | [] | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] [] | libidn | [] [] | lifelines | () | lilypond | [] [] [] | lingoteach | [] [] [] | lprng | | lynx | [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | [] | minicom | [] [] [] [] | nano | [] [] [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] | pilot-qof | | popt | [] [] [] [] | psmisc | [] [] | pwdutils | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | [] | skencil | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | tin | [] () | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | util-linux-ng | [] [] [] [] [] [] [] | vorbis-tools | | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52 ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn +--------------------------------------------------+ Compendium | [] | a2ps | () [] [] | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | [] | cpplib | [] | cryptonit | [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | fetchmail | [] [] | findutils | [] | findutils_stable | [] | flex | [] [] | fslint | | gas | | gawk | [] [] | gcal | | gcc | | gettext-examples | [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] [] | gnubiff | | gnucash | () () () | gnuedu | | gnulib | [] [] | gnunet | | gnunet-gtk | | gnutls | [] | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | [] | gpsdrive | [] | gramadoir | () | grep | [] [] | gretl | | gsasl | [] | gss | | gst-plugins-bad | [] | gst-plugins-base | [] | gst-plugins-good | [] | gst-plugins-ugly | [] | gstreamer | [] | gtick | [] | gtkam | [] [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] | indent | [] [] | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] [] [] | jpilot | () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | [] | libidn | [] [] | lifelines | [] | lilypond | [] | lingoteach | [] | lprng | | lynx | [] [] | m4 | [] [] | mailfromd | | mailutils | | make | [] [] [] | man-db | | minicom | [] | nano | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | popt | [] [] [] | psmisc | [] [] [] | pwdutils | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | shared-mime-info | [] [] [] [] [] [] [] | sharutils | [] [] | shishi | | skencil | | solfege | () () | soundtracker | | sp | () | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] | tin | | tuxpaint | () [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | util-linux-ng | [] [] | vorbis-tools | | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6 or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +--------------------------------------------------+ Compendium | [] [] [] [] [] | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] [] | bash | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | dialog | [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] | findutils_stable | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] | gas | | gawk | [] [] [] [] | gcal | [] | gcc | [] [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gip | [] [] [] [] | gliv | [] [] [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () [] | gnucash | () [] | gnuedu | | gnulib | [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] | gramadoir | [] [] | grep | [] [] [] [] | gretl | [] [] [] | gsasl | [] [] [] | gss | [] [] [] [] | gst-plugins-bad | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] | gst-plugins-ugly | [] [] [] | gstreamer | [] [] [] [] | gtick | [] | gtkam | [] [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | herrie | [] [] [] | hylafax | | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] | libexif | [] [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] [] | libgpg-error | [] [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lprng | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] [] [] | make | [] [] [] [] | man-db | [] [] [] [] | minicom | [] [] [] [] [] | nano | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | | popt | [] [] [] [] | psmisc | [] [] | pwdutils | [] [] | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | skencil | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] | texinfo | [] [] [] [] | tin | () | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | util-linux-ng | [] [] [] [] | vorbis-tools | [] | wastesedge | | wdiff | [] [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ Compendium | [] [] [] [] | 19 a2ps | [] [] [] | 19 aegis | [] | 1 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 16 bash | [] | 6 bfd | | 2 bibshelf | [] | 7 binutils | [] [] [] [] | 9 bison | [] [] [] [] | 20 bison-runtime | [] [] [] [] | 18 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 9 console-tools | [] [] | 5 coreutils | [] [] [] | 18 cpio | [] [] [] [] | 11 cpplib | [] [] [] [] [] | 12 cryptonit | [] | 6 dialog | [] [] [] | 9 diffutils | [] [] [] [] [] | 29 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 fetchmail | [] [] | 12 findutils | [] [] [] | 11 findutils_stable | [] [] [] [] | 18 flex | [] [] | 15 fslint | [] | 2 gas | [] | 3 gawk | [] [] [] | 16 gcal | [] | 5 gcc | [] [] [] | 7 gettext-examples | [] [] [] [] [] [] | 29 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 20 gip | [] [] | 13 gliv | [] [] | 11 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 16 gnubiff | [] | 2 gnucash | () [] | 5 gnuedu | [] | 2 gnulib | [] | 10 gnunet | | 0 gnunet-gtk | [] [] | 3 gnutls | | 4 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] [] | 7 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] [] | 16 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] [] | 22 gpe-filemanager | [] [] | 7 gpe-go | [] [] [] [] | 19 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] [] | 21 gpe-taskmanager | [] [] [] [] | 21 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] [] | 8 gphoto2 | [] [] [] [] | 21 gprof | [] [] | 13 gpsdrive | [] | 5 gramadoir | [] | 7 grep | [] | 12 gretl | | 6 gsasl | [] [] [] | 9 gss | [] | 7 gst-plugins-bad | [] [] [] | 13 gst-plugins-base | [] [] | 11 gst-plugins-good | [] [] [] [] [] | 16 gst-plugins-ugly | [] [] [] | 13 gstreamer | [] [] [] | 18 gtick | [] [] | 7 gtkam | [] | 16 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 27 gutenprint | | 4 hello | [] [] [] [] [] | 38 herrie | [] [] | 8 hylafax | | 0 idutils | [] [] | 15 indent | [] [] [] [] [] | 28 iso_15924 | [] [] | 4 iso_3166 | [] [] [] [] [] [] [] [] [] | 54 iso_3166_2 | [] [] | 4 iso_4217 | [] [] [] [] [] | 24 iso_639 | [] [] [] [] [] | 26 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] [] | 13 keytouch | [] | 8 keytouch-editor | [] | 5 keytouch-keyboa... | [] | 5 latrine | [] [] | 5 ld | [] [] [] [] | 10 leafpad | [] [] [] [] [] | 24 libc | [] [] [] | 19 libexif | [] | 5 libextractor | [] | 5 libgpewidget | [] [] [] | 20 libgpg-error | [] | 6 libgphoto2 | [] [] | 9 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] [] | 11 libidn | [] [] | 11 lifelines | | 4 lilypond | [] | 6 lingoteach | [] | 6 lprng | [] | 2 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailfromd | [] [] | 3 mailutils | [] [] | 8 make | [] [] [] | 20 man-db | [] | 9 minicom | [] | 14 nano | [] [] [] | 20 opcodes | [] [] | 10 parted | [] [] [] | 11 pilot-qof | [] | 1 popt | [] [] [] [] | 18 psmisc | [] [] | 10 pwdutils | [] | 3 qof | [] | 4 radius | [] [] | 7 recode | [] [] [] | 25 rpm | [] [] [] [] | 13 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] [] | 23 shared-mime-info | [] [] [] | 29 sharutils | [] [] [] | 23 shishi | [] | 3 skencil | [] | 7 solfege | [] | 3 soundtracker | [] [] | 9 sp | [] | 3 system-tools-ba... | [] [] [] [] [] [] [] | 38 tar | [] [] [] | 17 texinfo | [] [] [] | 15 tin | | 1 tuxpaint | [] [] [] | 19 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 util-linux-ng | [] [] [] | 20 vorbis-tools | [] [] | 4 wastesedge | | 1 wdiff | [] [] | 23 wget | [] [] [] | 20 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] | 14 xpad | [] [] [] | 15 +---------------------------------------------------+ 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If November 2007 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://translationproject.org/extra/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `coordinator@translationproject.org' to make the `.pot' files available to the translation teams. ndisc6-1.0.1/rdnssd/0000755000175000001440000000000011530146511011166 500000000000000ndisc6-1.0.1/rdnssd/rdnssd.h0000644000175000001440000000343410730516764012574 00000000000000/** * rdnssd.h - daemon for DNS configuration from ICMPv6 RA * $Id: rdnssd.h 545 2007-12-09 07:18:06Z linkfanel $ */ /************************************************************************* * Copyright © 2007 Pierre Ynard, Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifndef NDISC6_RDNSSD_H # define NDISC6_RDNSSD_H 1 typedef struct rdnss_src { int (*setup) (void); int (*process) (int fd); } rdnss_src_t; extern const rdnss_src_t rdnss_netlink, rdnss_icmp; /* Belongs in */ #define ND_OPT_RDNSS 25 struct nd_opt_rdnss { uint8_t nd_opt_rdnss_type; uint8_t nd_opt_rdnss_len; uint16_t nd_opt_rdnss_resserved1; uint32_t nd_opt_rdnss_lifetime; /* followed by one or more IPv6 addresses */ }; # ifdef __cplusplus extern "C" { # endif int parse_nd_opts (const struct nd_opt_hdr *opt, size_t opts_len, unsigned int ifindex); # ifdef __cplusplus } # endif #endif /* !NDISC6_RDNSSD_H */ ndisc6-1.0.1/rdnssd/Makefile.in0000644000175000001440000004715611470554041013174 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 - rdnssd/ directory Makefile for ndisc6 # $Id: Makefile.am 640 2010-01-24 08:32:21Z remi $ # Copyright © 2006-2007 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@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@ sbin_PROGRAMS = rdnssd$(EXEEXT) subdir = rdnssd DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hostname.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/sockaddr.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(confdir)" PROGRAMS = $(sbin_PROGRAMS) am_rdnssd_OBJECTS = rdnssd.$(OBJEXT) icmp.$(OBJEXT) netlink.$(OBJEXT) rdnssd_OBJECTS = $(am_rdnssd_OBJECTS) am__DEPENDENCIES_1 = rdnssd_DEPENDENCIES = $(am__DEPENDENCIES_1) \ @top_builddir@/compat/libcompat.a am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' SCRIPTS = $(conf_SCRIPTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/admin/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(rdnssd_SOURCES) DIST_SOURCES = $(rdnssd_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBRT = @LIBRT@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ 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@ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \ -DLOCALEDIR=\"$(localedir)\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLOCALSTATEDIR=\"$(localstatedir)\" confdir = $(sysconfdir)/rdnssd myrundir = $(localstatedir)/run/rdnssd subst_script = sed \ -e 's,[@]PACKAGE[@],$(PACKAGE),g' \ -e 's,[@]VERSION[@],$(VERSION),g' \ -e 's,[@]LOCALSTATEDIR[@],$(localstatedir),g' \ -e 's,[@]SYSCONFDIR[@],$(sysconfdir),g' sed_verbose = $(sed_verbose_$(V)) sed_verbose_ = $(sed_verbose_$(AM_DEFAULT_VERBOSITY)) sed_verbose_0 = @echo " SED $@"; EXTRA_DIST = merge-hook.in CLEANFILES = $(conf_SCRIPTS) AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = merge-hook conf_SCRIPTS = merge-hook # rdnssd rdnssd_SOURCES = rdnssd.c rdnssd.h \ icmp.c \ netlink.c rdnssd_LDADD = $(LIBRT) \ @top_builddir@/compat/libcompat.a all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu rdnssd/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu rdnssd/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ } \ ; done uninstall-sbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(sbindir)" && rm -f $$files clean-sbinPROGRAMS: -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) rdnssd$(EXEEXT): $(rdnssd_OBJECTS) $(rdnssd_DEPENDENCIES) @rm -f rdnssd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(rdnssd_OBJECTS) $(rdnssd_LDADD) $(LIBS) install-confSCRIPTS: $(conf_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(confdir)" || $(MKDIR_P) "$(DESTDIR)$(confdir)" @list='$(conf_SCRIPTS)'; test -n "$(confdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(confdir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(confdir)$$dir" || exit $$?; \ } \ ; done uninstall-confSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(conf_SCRIPTS)'; test -n "$(confdir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(confdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(confdir)" && rm -f $$files mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdnssd.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @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@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @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) '$<'` 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) installdirs: for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(confdir)"; 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-generic clean-sbinPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-confSCRIPTS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-sbinPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-confSCRIPTS uninstall-sbinPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-sbinPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-confSCRIPTS \ install-data install-data-am install-data-hook install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-sbinPROGRAMS install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-confSCRIPTS uninstall-hook \ uninstall-sbinPROGRAMS # merge-hook merge-hook: merge-hook.in Makefile.in $(top_builddir)/config.status $(AM_V_at)rm -f -- $@.tmp $@ $(sed_verbose)$(subst_script) < $(srcdir)/$@.in > $@.tmp $(AM_V_at)chmod -- +x $@.tmp $(AM_V_at)mv -f -- $@.tmp $@ install-data-hook: $(install_sh) -d -- $(DESTDIR)$(myrundir) -chown -- nobody $(DESTDIR)$(myrundir) uninstall-hook: -rmdir $(DESTDIR)$(myrundir) # 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: ndisc6-1.0.1/rdnssd/rdnssd.c0000644000175000001440000003433310771424321012561 00000000000000/** * rdnssd.c - daemon for DNS configuration from ICMPv6 RA * $Id: rdnssd.c 614 2008-03-23 09:54:25Z remi $ */ /************************************************************************* * Copyright © 2007 Pierre Ynard, Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "rdnssd.h" #include "gettext.h" #include "../src/gettime.h" /* Internal defines */ static time_t now; typedef struct { struct in6_addr addr; unsigned int ifindex; time_t expiry; } rdnss_t; #define MAX_RDNSS MAXNS static struct { size_t count; rdnss_t list[MAX_RDNSS]; } servers = { .count = 0 }; /* The code */ static void write_resolv(const char *resolvpath) { FILE *resolv; int rval; char tmpfile[strlen(resolvpath) + sizeof(".tmp")]; sprintf(tmpfile, "%s.tmp", resolvpath); resolv = fopen(tmpfile, "w"); if (! resolv) { syslog (LOG_ERR, _("Cannot write %s: %m"), tmpfile); return; } for (size_t i = 0; i < servers.count; i++) { char addr[INET6_ADDRSTRLEN]; inet_ntop(AF_INET6, &servers.list[i].addr, addr, INET6_ADDRSTRLEN); if (IN6_IS_ADDR_LINKLOCAL(&servers.list[i].addr)) { char iface[IFNAMSIZ]; if (if_indextoname(servers.list[i].ifindex, iface) != NULL) fprintf(resolv, "nameserver %s%%%s\n", addr, iface); } else fprintf(resolv, "nameserver %s\n", addr); } fclose(resolv); rval = rename(tmpfile, resolvpath); if (rval == -1) syslog(LOG_ERR, _("Cannot write %s: %m"), tmpfile); } static void trim_expired (void) { while (servers.count > 0 && servers.list[servers.count - 1].expiry <= now) servers.count--; } static int rdnss_older (const void *a, const void *b) { time_t ta = ((const rdnss_t *)a)->expiry; time_t tb = ((const rdnss_t *)b)->expiry; if (ta < tb) return 1; if (ta > tb) return -1; return 0; } static void rdnss_update (const struct in6_addr *addr, unsigned int ifindex, time_t expiry) { size_t i; /* Does this entry already exist? */ for (i = 0; i < servers.count; i++) { if (memcmp (addr, &servers.list[i].addr, sizeof (*addr)) == 0 && (! IN6_IS_ADDR_LINKLOCAL(addr) || ifindex == servers.list[i].ifindex)) break; } /* Add a new entry */ if (i == servers.count) { if (expiry == now) return; /* Do not add already expired entry! */ if (servers.count < MAX_RDNSS) i = servers.count++; else { /* No more room? replace the most obsolete entry */ if ((expiry - servers.list[MAX_RDNSS - 1].expiry) >= 0) i = MAX_RDNSS - 1; } } memcpy (&servers.list[i].addr, addr, sizeof (*addr)); servers.list[i].ifindex = ifindex; servers.list[i].expiry = expiry; qsort (servers.list, servers.count, sizeof (rdnss_t), rdnss_older); #ifndef NDEBUG for (unsigned i = 0; i < servers.count; i++) { char buf[INET6_ADDRSTRLEN]; inet_ntop (AF_INET6, &servers.list[i].addr, buf, sizeof (buf)); syslog (LOG_DEBUG, "%u: %48s expires at %u\n", i, buf, (unsigned)servers.list[i].expiry); } #endif } int parse_nd_opts (const struct nd_opt_hdr *opt, size_t opts_len, unsigned int ifindex) { for (; opts_len >= sizeof(struct nd_opt_hdr); opts_len -= opt->nd_opt_len << 3, opt = (const struct nd_opt_hdr *) ((const uint8_t *) opt + (opt->nd_opt_len << 3))) { struct nd_opt_rdnss *rdnss_opt; size_t nd_opt_len = opt->nd_opt_len; uint32_t lifetime; if (nd_opt_len == 0 || opts_len < (nd_opt_len << 3)) return -1; if (opt->nd_opt_type != ND_OPT_RDNSS) continue; if (nd_opt_len < 3 /* too short per RFC */ || (nd_opt_len & 1) == 0) /* bad (even) length */ continue; rdnss_opt = (struct nd_opt_rdnss *) opt; { struct timespec ts; mono_gettime (&ts); now = ts.tv_sec; } lifetime = now + ntohl(rdnss_opt->nd_opt_rdnss_lifetime); for (struct in6_addr *addr = (struct in6_addr *) (rdnss_opt + 1); nd_opt_len >= 2; addr++, nd_opt_len -= 2) rdnss_update(addr, ifindex, lifetime); } return 0; } static int drop_privileges(const char *username) { if (username) { struct passwd *pw = getpwnam(username); if (pw == NULL) { syslog (LOG_ERR, _("Cannot find user \"%s\""), username); return -1; } setgid (pw->pw_gid); initgroups (username, pw->pw_gid); setuid(pw->pw_uid); } return 0; } static void prepare_fd (int fd) { fcntl (fd, F_SETFD, FD_CLOEXEC); fcntl (fd, F_SETFL, fcntl (fd, F_GETFL) | O_NONBLOCK); } static volatile int termsig = 0; static void term_handler (int signum) { termsig = signum; } static void ignore_handler (int signum) { (void)signum; } static int worker (int pipe, const char *resolvpath, const char *username) { sigset_t emptyset; int rval = 0, sock = -1; const rdnss_src_t *src; #ifdef __linux__ src = &rdnss_netlink; sock = src->setup (); #endif if (sock == -1) { src = &rdnss_icmp; sock = src->setup (); } if (sock == -1) return -1; prepare_fd (sock); /* be defensive - we want to block on poll(), not recv() */ if (drop_privileges(username) < 0) { close(sock); return -1; } sigemptyset (&emptyset); for (bool ready = false; termsig == 0;) { struct pollfd pfd = { .fd = sock, .events = POLLIN, .revents = 0 }; struct timespec ts; char buf = 42; mono_gettime (&ts); now = ts.tv_sec; if (ready) { /* Flush out expired entries */ trim_expired (); /* Update resolv.conf */ write_resolv (resolvpath); /* Notify manager process */ write (pipe, &buf, sizeof(buf)); } if (servers.count) { /* Compute event deadline */ time_t expiry = servers.list[servers.count - 1].expiry; if (ts.tv_sec < expiry) ts.tv_sec = expiry - ts.tv_sec; else ts.tv_sec = 0; ts.tv_nsec = 0; } if (ppoll (&pfd, 1, servers.count ? &ts : NULL, &emptyset) < 0) { if (errno == EINTR) continue; syslog (LOG_CRIT, _("Fatal error (%s): %m"), "ppoll"); rval = -1; break; } if (pfd.revents) { /* Receive new server from kernel */ src->process (sock); /* From now on, we can write resolv.conf * TODO: send unsoliticited RS to avoid this hack */ ready = true; } } close (sock); return rval; } static void merge_hook (const char *hookpath) { pid_t pid = fork (); switch (pid) { case 0: execl (hookpath, hookpath, (char *)NULL); syslog (LOG_ERR, _("Cannot run \"%s\": %m"), hookpath); exit(1); case -1: syslog (LOG_ERR, _("Cannot run \"%s\": %m"), hookpath); break; default: { int status; while (waitpid (pid, &status, 0) != pid); } } } static int manager (int pipe, const char *hookpath) { int rval = 0; sigset_t emptyset; sigemptyset(&emptyset); while (termsig == 0) { struct pollfd pfd = { .fd = pipe, .events = POLLIN, .revents = 0 }; char buf; if (ppoll(&pfd, 1, NULL, &emptyset) <= 0) continue; if (read(pipe, &buf, sizeof(buf)) > 0) { if (hookpath) merge_hook(hookpath); } else { syslog (LOG_ERR, _("Child process hung up unexpectedly, aborting")); rval = -1; break; } } return rval; } static int rdnssd (const char *username, const char *resolvpath, const char *hookpath) { int rval = 0; struct sigaction act; sigset_t handled; pid_t worker_pid; int pfd[2]; rval = pipe(pfd); if (rval == -1) { syslog (LOG_CRIT, _("Fatal error (%s): %m"), "pipe"); return -1; } sigemptyset (&handled); memset (&act, 0, sizeof (struct sigaction)); act.sa_handler = term_handler; act.sa_handler = term_handler; sigaction (SIGTERM, &act, NULL); sigaddset (&handled, SIGTERM); act.sa_handler = term_handler; sigaction (SIGINT, &act, NULL); sigaddset (&handled, SIGINT); act.sa_handler = ignore_handler; sigaction (SIGPIPE, &act, NULL); sigaddset (&handled, SIGPIPE); /* TODO: HUP handling */ sigprocmask (SIG_SETMASK, &handled, NULL); worker_pid = fork(); switch (worker_pid) { case 0: close(pfd[0]); prepare_fd(pfd[1]); rval = worker(pfd[1], resolvpath, username); close(pfd[1]); exit(rval != 0); case -1: syslog (LOG_CRIT, _("Fatal error (%s): %m"), "fork"); close(pfd[0]); close(pfd[1]); rval = -1; break; default: close(pfd[1]); prepare_fd(pfd[0]); rval = manager (pfd[0], hookpath); close(pfd[0]); } int status; kill (worker_pid, SIGTERM); while (waitpid (worker_pid, &status, 0) != worker_pid); return rval; } /** PID file handling */ #ifndef O_NOFOLLOW # define O_NOFOLLOW 0 #endif static int create_pidfile (const char *path) { char buf[20]; // enough for > 2^64 size_t len; int fd; (void)snprintf (buf, sizeof (buf), "%d", (int)getpid ()); buf[sizeof (buf) - 1] = '\0'; len = strlen (buf); fd = open (path, O_WRONLY|O_CREAT|O_NOFOLLOW, 0644); if (fd != -1) { struct stat s; errno = 0; if ((fstat (fd, &s) == 0) && S_ISREG(s.st_mode) && (lockf (fd, F_TLOCK, 0) == 0) && (ftruncate (fd, 0) == 0) && (write (fd, buf, len) == (ssize_t)len) && (fdatasync (fd) == 0)) return fd; if (errno == 0) /* !S_ISREG */ errno = EACCES; (void)close (fd); } return -1; } static int quick_usage (const char *path) { fprintf (stderr, _("Try \"%s -h\" for more information.\n"), path); return 2; } static int usage (const char *path) { printf (_( "Usage: %s [OPTIONS]\n" "Starts the IPv6 Recursive DNS Server discovery Daemon.\n" "\n" " -f, --foreground run in the foreground\n" " -H, --merge-hook execute this hook whenever resolv.conf is updated\n" " -h, --help display this help and exit\n" " -p, --pidfile override the location of the PID file\n" " -r, --resolv-file set the path to the generated resolv.conf file\n" " -u, --user override the user to set UID to\n" " -V, --version display program version and exit\n"), path); return 0; } static int version (void) { printf (_("rdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s)\n"), VERSION, "$Rev: 614 $"); printf (_(" built %s on %s\n"), __DATE__, PACKAGE_BUILD_HOSTNAME); printf (_("Configured with: %s\n"), PACKAGE_CONFIGURE_INVOCATION); puts (_("Written by Pierre Ynard and Remi Denis-Courmont\n")); printf (_("Copyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont\n"), 2007, 2007); puts (_( "This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n")); return 0; } int main (int argc, char *argv[]) { const char *username = "nobody", *hookpath = NULL, *pidpath = LOCALSTATEDIR "/run/rdnssd.pid", *resolvpath = LOCALSTATEDIR "/run/rdnssd/resolv.conf"; int pidfd, val, pipefd = -1; bool fg = false; static const struct option opts[] = { { "foreground", no_argument, NULL, 'f' }, { "hook", required_argument, NULL, 'H' }, { "merge-hook", required_argument, NULL, 'H' }, { "help", no_argument, NULL, 'h' }, { "pidfile", required_argument, NULL, 'p' }, { "resolv-file", required_argument, NULL, 'r' }, { "user", required_argument, NULL, 'u' }, { "username", required_argument, NULL, 'u' }, { "version", no_argument, NULL, 'V' }, { NULL, no_argument, NULL, '\0'} }; static const char optstring[] = "fH:hp:r:u:V"; setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); while ((val = getopt_long (argc, argv, optstring, opts, NULL)) != -1) { switch (val) { case 'f': fg = true; break; case 'H': hookpath = optarg; break; case 'h': return usage (argv[0]); case 'p': pidpath = optarg; break; case 'r': resolvpath = optarg; break; case 'u': username = optarg; break; case 'V': return version (); case '?': return quick_usage (argv[0]); } } /* Fork, and wait until the process is ready */ if (!fg) { int pfd[2]; pid_t pid; if (pipe (pfd)) pfd[0] = pfd[1] = -1; pid = fork (); switch (pid) { case -1: perror ("fork"); return 1; case 0: close (pfd[0]); setsid (); /* cannot fail */ pipefd = pfd[1]; break; default: /* parent process */ close (pfd[1]); if (read (pfd[0], &val, sizeof (val)) != sizeof (val)) val = 1; close (pfd[0]); if (val != 0) { /* failure! */ while (waitpid (pid, &val, 0) != pid); return WIFEXITED (val) ? WEXITSTATUS (val) : 1; } return 0; } } openlog ("rdnssd", LOG_PERROR | LOG_PID, LOG_DAEMON); /* main process */ pidfd = create_pidfile (pidpath); if (pidfd == -1) { syslog (LOG_ERR, _("Cannot create %s (%m) - already running?"), pidpath); closelog (); return 1; } /* working fine: notify parent */ if (!fg) { val = 0; write (pipefd, &val, sizeof (val)); close (pipefd); freopen ("/dev/null", "r", stdin); freopen ("/dev/null", "w", stdout); freopen ("/dev/null", "w", stderr); } val = rdnssd (username, resolvpath, hookpath); closelog (); /* Unlink *before* close, i.e. unlink while still holding the * advisory lock. Otherwise there would be a race condition whereby * we could remove another instance's PID file. */ unlink (pidpath); close (pidfd); return val != 0; } ndisc6-1.0.1/rdnssd/Makefile.am0000644000175000001440000000263011327002625013144 00000000000000# Makefile.am - rdnssd/ directory Makefile for ndisc6 # $Id: Makefile.am 640 2010-01-24 08:32:21Z remi $ # Copyright © 2006-2007 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \ -DLOCALEDIR=\"$(localedir)\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLOCALSTATEDIR=\"$(localstatedir)\" confdir = $(sysconfdir)/rdnssd myrundir = $(localstatedir)/run/rdnssd subst_script = sed \ -e 's,[@]PACKAGE[@],$(PACKAGE),g' \ -e 's,[@]VERSION[@],$(VERSION),g' \ -e 's,[@]LOCALSTATEDIR[@],$(localstatedir),g' \ -e 's,[@]SYSCONFDIR[@],$(sysconfdir),g' sed_verbose = $(sed_verbose_$(V)) sed_verbose_ = $(sed_verbose_$(AM_DEFAULT_VERBOSITY)) sed_verbose_0 = @echo " SED $@"; EXTRA_DIST = merge-hook.in CLEANFILES = $(conf_SCRIPTS) AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = merge-hook sbin_PROGRAMS = rdnssd conf_SCRIPTS = merge-hook # rdnssd rdnssd_SOURCES = rdnssd.c rdnssd.h \ icmp.c \ netlink.c rdnssd_LDADD = $(LIBRT) \ @top_builddir@/compat/libcompat.a # merge-hook merge-hook: merge-hook.in Makefile.in $(top_builddir)/config.status $(AM_V_at)rm -f -- $@.tmp $@ $(sed_verbose)$(subst_script) < $(srcdir)/$@.in > $@.tmp $(AM_V_at)chmod -- +x $@.tmp $(AM_V_at)mv -f -- $@.tmp $@ install-data-hook: $(install_sh) -d -- $(DESTDIR)$(myrundir) -chown -- nobody $(DESTDIR)$(myrundir) uninstall-hook: -rmdir $(DESTDIR)$(myrundir) ndisc6-1.0.1/rdnssd/netlink.c0000644000175000001440000000670010750125546012731 00000000000000/** * netlink.c - NetLink source for ICMPv6 RDNSS * $Id: netlink.c 584 2008-01-30 16:54:05Z remi $ */ /************************************************************************* * Copyright © 2007 Pierre Ynard, Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #ifdef __linux__ #include #include #include #include #include #include #include #include #include #include #include "rdnssd.h" #include "gettext.h" #ifndef RTNLGRP_ND_USEROPT # warning You need to update your Linux kernel headers (>= 2.6.24) /* Belongs in */ struct nduseroptmsg { unsigned char nduseropt_family; unsigned char nduseropt_pad1; unsigned short nduseropt_opts_len; /* Total length of options */ int nduseropt_ifindex; __u8 nduseropt_icmp_type; __u8 nduseropt_icmp_code; unsigned short nduseropt_pad2; unsigned int nduseropt_pad3; /* Followed by one or more ND options */ }; # define RTNLGRP_ND_USEROPT 20 #endif static int nl_recv (int fd) { unsigned int buf_size = NLMSG_SPACE(65536 - sizeof(struct icmp6_hdr)); uint8_t buf[buf_size]; size_t msg_size; struct nduseroptmsg *ndmsg; memset(buf, 0, buf_size); msg_size = recv(fd, buf, buf_size, 0); if (msg_size == (size_t)(-1)) return -1; if (msg_size < NLMSG_SPACE(sizeof(struct nduseroptmsg))) return -1; ndmsg = (struct nduseroptmsg *) NLMSG_DATA((struct nlmsghdr *) buf); if (ndmsg->nduseropt_family != AF_INET6 || ndmsg->nduseropt_icmp_type != ND_ROUTER_ADVERT || ndmsg->nduseropt_icmp_code != 0) return 0; if (msg_size < NLMSG_SPACE(sizeof(struct nduseroptmsg) + ndmsg->nduseropt_opts_len)) return -1; return parse_nd_opts((struct nd_opt_hdr *) (ndmsg + 1), ndmsg->nduseropt_opts_len, ndmsg->nduseropt_ifindex); } static int nl_socket (void) { struct sockaddr_nl saddr; struct utsname uts; int fd; /* Netlink RDNSS support starts with 2.6.24 */ uname (&uts); if (strverscmp (uts.release, "2.6.24") < 0) { errno = ENOSYS; return -1; } fd = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE); if (fd == -1) { syslog(LOG_CRIT, _("cannot open netlink socket")); return fd; } memset(&saddr, 0, sizeof(struct sockaddr_nl)); saddr.nl_family = AF_NETLINK; saddr.nl_pid = getpid(); saddr.nl_groups = 1 << (RTNLGRP_ND_USEROPT - 1); if (bind (fd, (struct sockaddr *) &saddr, sizeof (struct sockaddr_nl))) return -1; return fd; } const rdnss_src_t rdnss_netlink = { nl_socket, nl_recv }; #endif /* __linux__ */ ndisc6-1.0.1/rdnssd/icmp.c0000644000175000001440000000653211004137643012212 00000000000000/** * icmp.c - raw socket source for ICMPv6 RDNSS * $Id: icmp.c 618 2008-04-24 17:13:07Z remi $ */ /************************************************************************* * Copyright © 2007-2008 Pierre Ynard, Rémi Denis-Courmont. * * This program is free software: you can redistribute and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, versions 2 or 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include "rdnssd.h" #include "gettext.h" #ifndef IPV6_RECVHOPLIMIT # warning using RFC2922 instead of RFC3542 # define IPV6_RECVHOPLIMIT IPV6_HOPLIMIT #endif #ifndef SOL_IPV6 # define SOL_IPV6 IPPROTO_IPV6 #endif #ifndef SOL_ICMPV6 # define SOL_ICMPV6 IPPROTO_ICMPV6 #endif static int icmp_recv (int fd) { struct nd_router_advert icmp6; uint8_t buf[65536 - sizeof (icmp6)], cbuf[CMSG_SPACE (sizeof (int))]; struct iovec iov[2] = { { .iov_base = &icmp6, .iov_len = sizeof (icmp6) }, { .iov_base = buf, .iov_len = sizeof (buf) } }; struct sockaddr_in6 src; struct msghdr msg = { .msg_iov = iov, .msg_iovlen = sizeof (iov) / sizeof (iov[0]), .msg_name = &src, .msg_namelen = sizeof (src), .msg_control = cbuf, .msg_controllen = sizeof (cbuf) }; ssize_t len = recvmsg (fd, &msg, 0); /* Sanity checks */ if ((len < (ssize_t)sizeof (icmp6)) /* error or too small packet */ || (msg.msg_flags & (MSG_TRUNC | MSG_CTRUNC)) /* truncated packet */ || !IN6_IS_ADDR_LINKLOCAL (&src.sin6_addr) /* bad source address */ || (icmp6.nd_ra_code != 0)) /* unknown ICMPv6 code */ return -1; for (struct cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); cmsg != NULL; cmsg = CMSG_NXTHDR (&msg, cmsg)) { if ((cmsg->cmsg_level == IPPROTO_IPV6) && (cmsg->cmsg_type == IPV6_HOPLIMIT) && (255 != *(int *)CMSG_DATA (cmsg))) /* illegal hop limit */ return -1; } /* Parses RA options */ len -= sizeof (icmp6); return parse_nd_opts((struct nd_opt_hdr *) buf, len, src.sin6_scope_id); } static int icmp_socket() { int fd = socket (AF_INET6, SOCK_RAW, IPPROTO_ICMPV6); if (fd == -1) { syslog (LOG_CRIT, _("cannot open ICMPv6 socket")); return -1; } /* set ICMPv6 filter */ { struct icmp6_filter f; ICMP6_FILTER_SETBLOCKALL (&f); ICMP6_FILTER_SETPASS (ND_ROUTER_ADVERT, &f); setsockopt (fd, SOL_ICMPV6, ICMP6_FILTER, &f, sizeof (f)); } setsockopt (fd, SOL_IPV6, IPV6_RECVHOPLIMIT, &(int){ 1 }, sizeof (int)); return fd; } const rdnss_src_t rdnss_icmp = { icmp_socket, icmp_recv }; ndisc6-1.0.1/rdnssd/merge-hook.in0000644000175000001440000000446111327002565013504 00000000000000#! /bin/sh # # resolv.conf merge hook for rdnssd # # $Id: merge-hook.in 634 2009-11-25 21:31:20Z linkfanel $ # ************************************************************************* # * Copyright © 2007-2009 Pierre Ynard. * # * This program is free software: you can redistribute and/or modify * # * it under the terms of the GNU General Public License as published by * # * the Free Software Foundation, versions 2 or 3 of the license. * # * * # * This program is distributed in the hope that it will be useful, * # * but WITHOUT ANY WARRANTY; without even the implied warranty of * # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * # * GNU General Public License for more details. * # * * # * You should have received a copy of the GNU General Public License * # * along with this program. If not, see . * # ************************************************************************* set -e PATH=/sbin:/bin # Max number of nameserver options taken into account. Should be as # defined in MAXNS=3 # This script tries to share available nameserver slots with IPv4 # entries, for example to allow fallback to IPv4 if IPv6 fails. If # there is not enough room for all IPv6 and IPv4 entries, this script # will limit the IPv6 entries it adds to $RDNSS_LIMIT only. RDNSS_LIMIT=$(($MAXNS - 1)) sysconfdir='@SYSCONFDIR@' localstatedir='@LOCALSTATEDIR@' resolvconf="$sysconfdir/resolv.conf" myresolvconf="$localstatedir/run/rdnssd/resolv.conf" # These should be POSIX-compliant BREs RE_NSV4='^nameserver *\([0-9]\{1,3\}\.\)\{3,3\}[0-9]\{1,3\} *$' RE_NSV4OR6='^nameserver *[a-fA-F0-9:\.]\{1,46\}\(%[a-zA-Z0-9]\{1,\}\)\{,1\} *$' # Count how many IPv6 nameservers we can fit limit=$RDNSS_LIMIT nnsv4=`grep -c "$RE_NSV4" $resolvconf || [ $? -le 1 ]` room=$(($MAXNS - $nnsv4)) if [ $limit -lt $room ]; then limit=$room fi # Merge and write the result { sed -e "/$RE_NSV4OR6/d" < $resolvconf [ $limit -gt 0 ] && sed -e "${limit}q" < $myresolvconf sed -ne "/$RE_NSV4/p" < $resolvconf } >| $resolvconf.tmp mv -f $resolvconf.tmp $resolvconf ndisc6-1.0.1/po/0000755000175000001440000000000011530146510010306 500000000000000ndisc6-1.0.1/po/Makefile.in.in0000644000175000001440000003552410753073706012725 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.17 GETTEXT_MACRO_VERSION = 0.17 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. check-macro-version: @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ndisc6-1.0.1/po/ndisc6.pot0000644000175000001440000003260311530146510012144 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Rémi Denis-Courmont # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: ndisc6 1.0.1\n" "Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net\n" "POT-Creation-Date: 2011-02-20 10:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: rdnssd/rdnssd.c:88 rdnssd/rdnssd.c:109 #, c-format msgid "Cannot write %s: %m" msgstr "" #: rdnssd/rdnssd.c:226 #, c-format msgid "Cannot find user \"%s\"" msgstr "" #: rdnssd/rdnssd.c:322 rdnssd/rdnssd.c:406 rdnssd/rdnssd.c:445 #, c-format msgid "Fatal error (%s): %m" msgstr "" #: rdnssd/rdnssd.c:349 rdnssd/rdnssd.c:353 #, c-format msgid "Cannot run \"%s\": %m" msgstr "" #: rdnssd/rdnssd.c:385 msgid "Child process hung up unexpectedly, aborting" msgstr "" #: rdnssd/rdnssd.c:509 src/addrinfo.c:144 src/ndisc.c:746 src/tcpspray.c:270 #: src/tcptraceroute.c:42 src/traceroute.c:1207 #, c-format msgid "Try \"%s -h\" for more information.\n" msgstr "" #: rdnssd/rdnssd.c:519 #, c-format msgid "" "Usage: %s [OPTIONS]\n" "Starts the IPv6 Recursive DNS Server discovery Daemon.\n" "\n" " -f, --foreground run in the foreground\n" " -H, --merge-hook execute this hook whenever resolv.conf is updated\n" " -h, --help display this help and exit\n" " -p, --pidfile override the location of the PID file\n" " -r, --resolv-file set the path to the generated resolv.conf file\n" " -u, --user override the user to set UID to\n" " -V, --version display program version and exit\n" msgstr "" #: rdnssd/rdnssd.c:536 #, c-format msgid "rdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s)\n" msgstr "" #: rdnssd/rdnssd.c:538 src/addrinfo.c:152 src/ndisc.c:777 src/tcpspray.c:306 #: src/traceroute.c:1254 #, c-format msgid " built %s on %s\n" msgstr "" #: rdnssd/rdnssd.c:539 src/addrinfo.c:153 src/ndisc.c:779 src/tcpspray.c:307 #: src/traceroute.c:1255 #, c-format msgid "Configured with: %s\n" msgstr "" #: rdnssd/rdnssd.c:540 msgid "Written by Pierre Ynard and Remi Denis-Courmont\n" msgstr "" #: rdnssd/rdnssd.c:542 #, c-format msgid "Copyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont\n" msgstr "" #: rdnssd/rdnssd.c:545 src/addrinfo.c:157 src/ndisc.c:783 src/tcpspray.c:311 #: src/traceroute.c:1259 msgid "" "This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" #: rdnssd/rdnssd.c:658 #, c-format msgid "Cannot create %s (%m) - already running?" msgstr "" #: src/addrinfo.c:116 msgid "Input error" msgstr "" #: src/addrinfo.c:127 #, c-format msgid "" "Usage: %s [-4|-6] [hostnames]\n" "Converts names to addresses.\n" "\n" " -4, --ipv4 only lookup IPv4 addresses\n" " -6, --ipv6 only lookup IPv6 addresses\n" " -c, --config only return addresses for locally configured protocols\n" " -h, --help display this help and exit\n" " -m, --multiple print multiple results separated by spaces\n" " -n, --numeric do not perform forward hostname lookup\n" " -r, --reverse perform reverse address to hostname lookup\n" " -V, --version display program version and exit\n" msgstr "" #: src/addrinfo.c:151 #, c-format msgid "addrinfo %s (%s)\n" msgstr "" #: src/addrinfo.c:154 src/ndisc.c:780 src/tcpspray.c:308 src/traceroute.c:1256 msgid "Written by Remi Denis-Courmont\n" msgstr "" #: src/addrinfo.c:156 src/ndisc.c:782 src/tcpspray.c:310 src/traceroute.c:1258 #, c-format msgid "Copyright (C) %u-%u Remi Denis-Courmont\n" msgstr "" #: src/ndisc.c:91 src/traceroute.c:947 #, c-format msgid "%s: %s\n" msgstr "" #: src/ndisc.c:177 #, c-format msgid "" "Usage: %s [options] \n" "Looks up an on-link IPv6 node link-layer address (Neighbor Discovery)\n" msgstr "" #: src/ndisc.c:179 msgid "link-layer address" msgstr "" #: src/ndisc.c:258 msgid "Target link-layer address: " msgstr "" #: src/ndisc.c:271 #, c-format msgid "" "Usage: %s [options] [IPv6 address] \n" "Solicits on-link IPv6 routers (Router Discovery)\n" msgstr "" #: src/ndisc.c:273 msgid "advertised prefixes" msgstr "" #: src/ndisc.c:298 msgid " infinite (0xffffffff)\n" msgstr "" #: src/ndisc.c:300 src/ndisc.c:441 src/ndisc.c:448 src/ndisc.c:457 #, c-format msgid "%12u (0x%08x) %s\n" msgstr "" #: src/ndisc.c:301 src/ndisc.c:442 src/tcpspray.c:120 msgid "second" msgid_plural "seconds" msgstr[0] "" msgstr[1] "" #: src/ndisc.c:319 msgid " Prefix : " msgstr "" #: src/ndisc.c:324 msgid " Valid time : " msgstr "" #: src/ndisc.c:326 msgid " Pref. time : " msgstr "" #: src/ndisc.c:338 msgid " MTU : " msgstr "" #: src/ndisc.c:340 src/tcpspray.c:119 src/tcpspray.c:155 src/tcpspray.c:156 #: src/tcpspray.c:164 src/tcpspray.c:165 msgid "byte" msgid_plural "bytes" msgstr[0] "" msgstr[1] "" #: src/ndisc.c:341 msgid "valid" msgstr "" #: src/ndisc.c:341 msgid "invalid" msgstr "" #: src/ndisc.c:349 msgid "medium" msgstr "" #: src/ndisc.c:349 msgid "high" msgstr "" #: src/ndisc.c:349 msgid "medium (invalid)" msgstr "" #: src/ndisc.c:349 msgid "low" msgstr "" #: src/ndisc.c:367 #, c-format msgid " Route : %s/%\n" msgstr "" #: src/ndisc.c:368 #, c-format msgid " Route preference : %6s\n" msgstr "" #: src/ndisc.c:369 msgid " Route lifetime : " msgstr "" #: src/ndisc.c:391 #, c-format msgid " Recursive DNS server : %s\n" msgstr "" #: src/ndisc.c:394 msgid " DNS server lifetime : " msgid_plural " DNS servers lifetime : " msgstr[0] "" msgstr[1] "" #: src/ndisc.c:423 msgid "Hop limit : " msgstr "" #: src/ndisc.c:426 #, c-format msgid " %3u" msgstr "" #: src/ndisc.c:428 msgid "undefined" msgstr "" #: src/ndisc.c:429 #, c-format msgid " ( 0x%02x)\n" msgstr "" #: src/ndisc.c:432 #, c-format msgid "Stateful address conf. : %3s\n" msgstr "" #: src/ndisc.c:433 src/ndisc.c:435 msgid "Yes" msgstr "" #: src/ndisc.c:433 src/ndisc.c:435 msgid "No" msgstr "" #: src/ndisc.c:434 #, c-format msgid "Stateful other conf. : %3s\n" msgstr "" #: src/ndisc.c:436 #, c-format msgid "Router preference : %6s\n" msgstr "" #: src/ndisc.c:439 msgid "Router lifetime : " msgstr "" #: src/ndisc.c:445 msgid "Reachable time : " msgstr "" #: src/ndisc.c:449 src/ndisc.c:458 msgid "millisecond" msgid_plural "milliseconds" msgstr[0] "" msgstr[1] "" #: src/ndisc.c:451 src/ndisc.c:460 msgid " unspecified (0x00000000)\n" msgstr "" #: src/ndisc.c:454 msgid "Retransmit time : " msgstr "" #: src/ndisc.c:483 msgid " Source link-layer address: " msgstr "" #: src/ndisc.c:615 msgid "Receiving ICMPv6 packet" msgstr "" #: src/ndisc.c:632 #, c-format msgid " from %s\n" msgstr "" #: src/ndisc.c:658 src/traceroute.c:922 src/traceroute.c:930 msgid "Raw IPv6 socket" msgstr "" #: src/ndisc.c:689 #, c-format msgid "Soliciting %s (%s) on %s...\n" msgstr "" #: src/ndisc.c:709 msgid "Sending ICMPv6 packet" msgstr "" #: src/ndisc.c:725 msgid "Timed out." msgstr "" #: src/ndisc.c:734 msgid "No response." msgstr "" #: src/ndisc.c:756 #, c-format msgid "" "\n" " -1, --single display first response and exit\n" " -h, --help display this help and exit\n" " -m, --multiple wait and display all responses\n" " -n, --numeric don't resolve host names\n" " -q, --quiet only print the %s (mainly for scripts)\n" " -r, --retry maximum number of attempts (default: 3)\n" " -V, --version display program version and exit\n" " -v, --verbose verbose display (this is the default)\n" " -w, --wait how long to wait for a response [ms] (default: 1000)\n" "\n" msgstr "" #: src/ndisc.c:776 #, c-format msgid "ndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s)\n" msgstr "" #: src/tcpspray.c:74 src/tcpspray.c:95 #, c-format msgid "%s port %s: %s\n" msgstr "" #: src/tcpspray.c:118 #, c-format msgid "%s %lu %s in %f %s" msgstr "" #: src/tcpspray.c:122 #, c-format msgid " (%0.3f kbytes/s)" msgstr "" #: src/tcpspray.c:153 #, c-format msgid "Warning: \"%s\" is too small (%zu %s) to fill block of %zu %s.\n" msgstr "" #: src/tcpspray.c:163 #, c-format msgid "Sending %ju %s with blocksize %zu %s\n" msgstr "" #: src/tcpspray.c:180 src/traceroute.c:498 #, c-format msgid "Receive error: %s\n" msgstr "" #: src/tcpspray.c:182 src/tcpspray.c:218 msgid "Connection closed by peer" msgstr "" #: src/tcpspray.c:216 src/traceroute.c:1113 #, c-format msgid "Cannot send data: %s\n" msgstr "" #: src/tcpspray.c:240 #, c-format msgid "Child process returned an error" msgstr "" #: src/tcpspray.c:247 msgid "Received" msgstr "" #: src/tcpspray.c:251 msgid "Transmitted" msgstr "" #: src/tcpspray.c:279 #, c-format msgid "" "Usage: %s [options] [service/port number]\n" "Use the discard TCP service at the specified host\n" "(the default host is the local system, the default service is discard)\n" msgstr "" #: src/tcpspray.c:284 msgid "" "\n" " -4 force usage of the IPv4 protocols family\n" " -6 force usage of the IPv6 protocols family\n" " -b specify the block bytes size (default: 1024)\n" " -d wait for given delay (usec) between each block (default: 0)\n" " -e perform a duplex test (TCP Echo instead of TCP Discard)\n" " -f fill sent data blocks with the specified file content\n" " -h display this help and exit\n" " -n specify the number of blocks to send (default: 100)\n" " -V display program version and exit\n" " -v enable verbose output\n" msgstr "" #: src/tcpspray.c:305 #, c-format msgid "tcpspray6: TCP/IP bandwidth tester %s (%s)\n" msgstr "" #: src/tcptraceroute.c:51 src/traceroute.c:1216 #, c-format msgid "" "Usage: %s [options] [%s]\n" "Print IPv6 network route to a host\n" msgstr "" #: src/tcptraceroute.c:52 msgid "port number" msgstr "" #: src/tcptraceroute.c:54 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in probe packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -i force outgoing network interface\n" " -l set probes byte size\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override source TCP port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes (default)\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -V, --version display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" #: src/traceroute.c:621 #, c-format msgid " %u.%03u ms " msgstr "" #: src/traceroute.c:662 msgid "[closed] " msgstr "" #: src/traceroute.c:666 msgid "[open] " msgstr "" #: src/traceroute.c:724 #, c-format msgid "%s%s%s%s: %s\n" msgstr "" #: src/traceroute.c:725 msgid "port " msgstr "" #: src/traceroute.c:785 #, c-format msgid "traceroute to %s (%s) " msgstr "" #: src/traceroute.c:790 #, c-format msgid "from %s, " msgstr "" #: src/traceroute.c:794 #, c-format msgid "port %u, from port %u, " msgstr "" #: src/traceroute.c:1011 #, c-format msgid "%u hop max, " msgid_plural "%u hops max, " msgstr[0] "" msgstr[1] "" #: src/traceroute.c:1062 #, c-format msgid "%zu byte packets\n" msgid_plural "%zu bytes packets\n" msgstr[0] "" msgstr[1] "" #: src/traceroute.c:1090 src/traceroute.c:1164 #, c-format msgid " %3u%% completed..." msgstr "" #: src/traceroute.c:1180 msgid " " msgstr "" #: src/traceroute.c:1217 msgid "packet length" msgstr "" #: src/traceroute.c:1219 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in TCP packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -I use ICMPv6 Echo Request packets as probes\n" " -i force outgoing network interface\n" " -l display incoming packets hop limit\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override destination port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -U send UDP probes (default)\n" " -V display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" #: src/traceroute.c:1253 #, c-format msgid "traceroute6: TCP & UDP IPv6 traceroute tool %s (%s)\n" msgstr "" #: src/traceroute.c:1273 #, c-format msgid "%s: invalid hop limit\n" msgstr "" #: src/traceroute.c:1287 #, c-format msgid "%s: invalid packet length\n" msgstr "" ndisc6-1.0.1/po/boldquot.sed0000644000175000001440000000033110644512264012561 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g ndisc6-1.0.1/po/fr.po0000644000175000001440000005260311530146510011203 00000000000000# French localization for ndisc6. # Copyright © 2007-2008 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. # Rémi Denis-Courmont, 2007. # msgid "" msgstr "" "Project-Id-Version: ndisc6 0.9.4\n" "Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net\n" "POT-Creation-Date: 2011-02-20 10:14+0200\n" "PO-Revision-Date: 2007-12-27 19:15+0200\n" "Last-Translator: Rémi Denis-Courmont\n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" #: rdnssd/rdnssd.c:88 rdnssd/rdnssd.c:109 #, c-format msgid "Cannot write %s: %m" msgstr "Impossible d’écrire %s : %m" #: rdnssd/rdnssd.c:226 #, c-format msgid "Cannot find user \"%s\"" msgstr "Impossible de trouver l’utilisateur « %s »" #: rdnssd/rdnssd.c:322 rdnssd/rdnssd.c:406 rdnssd/rdnssd.c:445 #, c-format msgid "Fatal error (%s): %m" msgstr "Erreur fatale (%s) : %m" #: rdnssd/rdnssd.c:349 rdnssd/rdnssd.c:353 #, c-format msgid "Cannot run \"%s\": %m" msgstr "Impossible d’exécuter « %s » : %m" #: rdnssd/rdnssd.c:385 msgid "Child process hung up unexpectedly, aborting" msgstr "Le processus fils a raccroché de façon inattendue, abandon" #: rdnssd/rdnssd.c:509 src/addrinfo.c:144 src/ndisc.c:746 src/tcpspray.c:270 #: src/tcptraceroute.c:42 src/traceroute.c:1207 #, c-format msgid "Try \"%s -h\" for more information.\n" msgstr "Essayez « %s -h » pour plus de détails.\n" #: rdnssd/rdnssd.c:519 #, c-format msgid "" "Usage: %s [OPTIONS]\n" "Starts the IPv6 Recursive DNS Server discovery Daemon.\n" "\n" " -f, --foreground run in the foreground\n" " -H, --merge-hook execute this hook whenever resolv.conf is updated\n" " -h, --help display this help and exit\n" " -p, --pidfile override the location of the PID file\n" " -r, --resolv-file set the path to the generated resolv.conf file\n" " -u, --user override the user to set UID to\n" " -V, --version display program version and exit\n" msgstr "" "Usage: %s [OPTIONS]\n" "Démarre le démon de Découverte IPv6 des Serveurs DNS Récursifs.\n" "\n" " -f, --foreground s’exécute en avant plan\n" " -H, --merge-hook exécute ce script quand resolv.conf est mis à jour\n" " -h, --help affiche cette aide et se termine\n" " -p, --pidfile redéfinit l’emplacement du fichier de PID\n" " -r, --resolv-file règle le chemin vers le fichier resolv.conf généré\n" " -u, --user redéfinit l’utilisateur qui exécute le programme " "(setuid)\n" " -V, --version affiche la version du programme et se termine\n" #: rdnssd/rdnssd.c:536 #, c-format msgid "rdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s)\n" msgstr "rdnssd : démon de Découverte IPv6 des Serveurs DNS Récursifs %s (%s)\n" #: rdnssd/rdnssd.c:538 src/addrinfo.c:152 src/ndisc.c:777 src/tcpspray.c:306 #: src/traceroute.c:1254 #, c-format msgid " built %s on %s\n" msgstr " compilé le %s sur %s\n" #: rdnssd/rdnssd.c:539 src/addrinfo.c:153 src/ndisc.c:779 src/tcpspray.c:307 #: src/traceroute.c:1255 #, c-format msgid "Configured with: %s\n" msgstr "Configuré avec : %s\n" #: rdnssd/rdnssd.c:540 msgid "Written by Pierre Ynard and Remi Denis-Courmont\n" msgstr "Écrit par Pierre Ynard et Rémi Denis-Courmont\n" #: rdnssd/rdnssd.c:542 #, c-format msgid "Copyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont\n" msgstr "Copyright © %u-%u Pierre Ynard, Rémi Denis-Courmont\n" #: rdnssd/rdnssd.c:545 src/addrinfo.c:157 src/ndisc.c:783 src/tcpspray.c:311 #: src/traceroute.c:1259 msgid "" "This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" "Ce logiciel est libre; voir les sources pour les conditions de\n" "reproduction. Il n’y a AUCUNE garantie; pas même pour la\n" "COMMERCIALISATION ou l’ADÉQUATION POUR UNE UTILISATION PARTICULIÈRE.\n" #: rdnssd/rdnssd.c:658 #, c-format msgid "Cannot create %s (%m) - already running?" msgstr "Impossible de créer %s (%m) - déjà lancé ?" #: src/addrinfo.c:116 msgid "Input error" msgstr "Erreur d’entrée" #: src/addrinfo.c:127 #, c-format msgid "" "Usage: %s [-4|-6] [hostnames]\n" "Converts names to addresses.\n" "\n" " -4, --ipv4 only lookup IPv4 addresses\n" " -6, --ipv6 only lookup IPv6 addresses\n" " -c, --config only return addresses for locally configured protocols\n" " -h, --help display this help and exit\n" " -m, --multiple print multiple results separated by spaces\n" " -n, --numeric do not perform forward hostname lookup\n" " -r, --reverse perform reverse address to hostname lookup\n" " -V, --version display program version and exit\n" msgstr "" "Usage: %s [-4|-6] [noms d’hôte]\n" "Convertit les noms en adresses.\n" "\n" " -4, --ipv4 recherche uniquement les adresses IPv4\n" " -6, --ipv6 recherche uniquement les adresses IPv6\n" " -c, --config ignore les adresses pour des protocoles réseaux non gérés\n" " -h, --help affiche cet aide et quitte le programme\n" " -m, --multiple affiche les résultats multiples séparés par des espaces\n" " -n, --numeric ne résout pas les noms d'hôte en adresse\n" " -r, --reverse effectue une résolution inversée : adresse vers nom\n" " -V, --version affiche sa version et quitte le programme\n" #: src/addrinfo.c:151 #, c-format msgid "addrinfo %s (%s)\n" msgstr "addrinfo %s (%s)\n" #: src/addrinfo.c:154 src/ndisc.c:780 src/tcpspray.c:308 src/traceroute.c:1256 msgid "Written by Remi Denis-Courmont\n" msgstr "Écrit par Rémi Denis-Courmont\n" #: src/addrinfo.c:156 src/ndisc.c:782 src/tcpspray.c:310 src/traceroute.c:1258 #, c-format msgid "Copyright (C) %u-%u Remi Denis-Courmont\n" msgstr "Copyright © %u-%u Rémi Denis-Courmont\n" #: src/ndisc.c:91 src/traceroute.c:947 #, c-format msgid "%s: %s\n" msgstr "%s : %s\n" #: src/ndisc.c:177 #, c-format msgid "" "Usage: %s [options] \n" "Looks up an on-link IPv6 node link-layer address (Neighbor Discovery)\n" msgstr "" "Usage: %s [options] \n" "Recherche l’adresse de lien d’un nœud IPv6 sur le lien (Neighbor Discovery)\n" #: src/ndisc.c:179 msgid "link-layer address" msgstr "adresse de la couche lien" #: src/ndisc.c:258 msgid "Target link-layer address: " msgstr "Adresse cible de lien : " #: src/ndisc.c:271 #, c-format msgid "" "Usage: %s [options] [IPv6 address] \n" "Solicits on-link IPv6 routers (Router Discovery)\n" msgstr "" "Usage: %s [options] [adresse IPv6] \n" "Solicite les routeurs IPv6 sur le lien (Router Discovery)\n" #: src/ndisc.c:273 msgid "advertised prefixes" msgstr "préfixes annoncés" #: src/ndisc.c:298 msgid " infinite (0xffffffff)\n" msgstr " infini (0xffffffff)\n" #: src/ndisc.c:300 src/ndisc.c:441 src/ndisc.c:448 src/ndisc.c:457 #, c-format msgid "%12u (0x%08x) %s\n" msgstr "%12u (0x%08x) %s\n" #: src/ndisc.c:301 src/ndisc.c:442 src/tcpspray.c:120 msgid "second" msgid_plural "seconds" msgstr[0] "seconde" msgstr[1] "secondes" #: src/ndisc.c:319 msgid " Prefix : " msgstr " Préfixe : " #: src/ndisc.c:324 msgid " Valid time : " msgstr " Durée de validité : " #: src/ndisc.c:326 msgid " Pref. time : " msgstr " Durée de préférence : " #: src/ndisc.c:338 msgid " MTU : " msgstr " MTU : " #: src/ndisc.c:340 src/tcpspray.c:119 src/tcpspray.c:155 src/tcpspray.c:156 #: src/tcpspray.c:164 src/tcpspray.c:165 msgid "byte" msgid_plural "bytes" msgstr[0] "octet" msgstr[1] "octets" #: src/ndisc.c:341 msgid "valid" msgstr "valide" #: src/ndisc.c:341 msgid "invalid" msgstr "invalide" #: src/ndisc.c:349 msgid "medium" msgstr "moyen" #: src/ndisc.c:349 msgid "high" msgstr "élevé" #: src/ndisc.c:349 msgid "medium (invalid)" msgstr "moyen (incorrect)" #: src/ndisc.c:349 msgid "low" msgstr "faible" #: src/ndisc.c:367 #, c-format msgid " Route : %s/%\n" msgstr " Route : %s/%\n" #: src/ndisc.c:368 #, c-format msgid " Route preference : %6s\n" msgstr " Préférence de route : %6s\n" #: src/ndisc.c:369 msgid " Route lifetime : " msgstr " Durée de vie de route : " #: src/ndisc.c:391 #, c-format msgid " Recursive DNS server : %s\n" msgstr " Serveur DNS récursif  : %s\n" #: src/ndisc.c:394 msgid " DNS server lifetime : " msgid_plural " DNS servers lifetime : " msgstr[0] " Validité du serveur : " msgstr[1] " Validité des serveurs : " #: src/ndisc.c:423 msgid "Hop limit : " msgstr "Limite de saut (TTL) : " #: src/ndisc.c:426 #, c-format msgid " %3u" msgstr " %3u" #: src/ndisc.c:428 msgid "undefined" msgstr "non défini" #: src/ndisc.c:429 #, c-format msgid " ( 0x%02x)\n" msgstr " ( 0x%02x)\n" #: src/ndisc.c:432 #, c-format msgid "Stateful address conf. : %3s\n" msgstr "Conf. d’adresse par DHCP : %3s\n" #: src/ndisc.c:433 src/ndisc.c:435 msgid "Yes" msgstr "Oui" #: src/ndisc.c:433 src/ndisc.c:435 msgid "No" msgstr "Non" #: src/ndisc.c:434 #, c-format msgid "Stateful other conf. : %3s\n" msgstr "Autres réglages par DHCP : %3s\n" #: src/ndisc.c:436 #, c-format msgid "Router preference : %6s\n" msgstr "Préférence du routeur : %6s\n" #: src/ndisc.c:439 msgid "Router lifetime : " msgstr "Durée de vie du routeur : " #: src/ndisc.c:445 msgid "Reachable time : " msgstr "Temps d’atteinte : " #: src/ndisc.c:449 src/ndisc.c:458 msgid "millisecond" msgid_plural "milliseconds" msgstr[0] "milliseconde" msgstr[1] "millisecondes" #: src/ndisc.c:451 src/ndisc.c:460 msgid " unspecified (0x00000000)\n" msgstr " non indiqué (0x00000000)\n" #: src/ndisc.c:454 msgid "Retransmit time : " msgstr "Temps de retransmission : " #: src/ndisc.c:483 msgid " Source link-layer address: " msgstr " Adresse source de lien : " #: src/ndisc.c:615 msgid "Receiving ICMPv6 packet" msgstr "Réception de paquet ICMPv6" #: src/ndisc.c:632 #, c-format msgid " from %s\n" msgstr " de %s\n" #: src/ndisc.c:658 src/traceroute.c:922 src/traceroute.c:930 msgid "Raw IPv6 socket" msgstr "Socket IPv6 brute" #: src/ndisc.c:689 #, c-format msgid "Soliciting %s (%s) on %s...\n" msgstr "Solicitation de %s (%s) sur %s...\n" #: src/ndisc.c:709 msgid "Sending ICMPv6 packet" msgstr "Envoi de paquet ICMPv6" #: src/ndisc.c:725 msgid "Timed out." msgstr "Expiré." #: src/ndisc.c:734 msgid "No response." msgstr "Pas de réponse." #: src/ndisc.c:756 #, c-format msgid "" "\n" " -1, --single display first response and exit\n" " -h, --help display this help and exit\n" " -m, --multiple wait and display all responses\n" " -n, --numeric don't resolve host names\n" " -q, --quiet only print the %s (mainly for scripts)\n" " -r, --retry maximum number of attempts (default: 3)\n" " -V, --version display program version and exit\n" " -v, --verbose verbose display (this is the default)\n" " -w, --wait how long to wait for a response [ms] (default: 1000)\n" "\n" msgstr "" "\n" " -1, --single affiche la première réponse et quitte le programme\n" " -h, --help affiche display cet aide et quitte le programme\n" " -m, --multiple attend et affiche toutes les réponses\n" " -n, --numeric ne résout pas les noms d'hôtes\n" " -q, --quiet affiche seulement les %s (pour scripts)\n" " -r, --retry nombre de tentatives maximum (3 par défaut)\n" " -V, --version affiche sa version et quitte le programme\n" " -v, --verbose affichage verbeux (activé par défaut)\n" " -w, --wait temps d'attente pour une réponse [ms] (1000 par défaut)\n" "\n" #: src/ndisc.c:776 #, c-format msgid "ndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s)\n" msgstr "ndisc6 : outil pour la découverte de voisin/routeur IPv6 %s (%s)\n" #: src/tcpspray.c:74 src/tcpspray.c:95 #, c-format msgid "%s port %s: %s\n" msgstr "%s port %s : %s\n" #: src/tcpspray.c:118 #, c-format msgid "%s %lu %s in %f %s" msgstr "%s %lu %s en %f %s" #: src/tcpspray.c:122 #, c-format msgid " (%0.3f kbytes/s)" msgstr " (%0.3f ko/s)" #: src/tcpspray.c:153 #, c-format msgid "Warning: \"%s\" is too small (%zu %s) to fill block of %zu %s.\n" msgstr "Warning: “%s” is too small (%zu %s) to fill block of %zu %s.\n" #: src/tcpspray.c:163 #, c-format msgid "Sending %ju %s with blocksize %zu %s\n" msgstr "Envoi de %ju %s par bloc de %zu %s\n" #: src/tcpspray.c:180 src/traceroute.c:498 #, c-format msgid "Receive error: %s\n" msgstr "Erreur de réception : %s\n" #: src/tcpspray.c:182 src/tcpspray.c:218 msgid "Connection closed by peer" msgstr "Connexion terminée par le correspondant" #: src/tcpspray.c:216 src/traceroute.c:1113 #, c-format msgid "Cannot send data: %s\n" msgstr "Impossible d’envoyer les données : %s\n" #: src/tcpspray.c:240 #, c-format msgid "Child process returned an error" msgstr "Le processus a renvoyé une erreur" #: src/tcpspray.c:247 msgid "Received" msgstr "Reçu" #: src/tcpspray.c:251 msgid "Transmitted" msgstr "Transmis" #: src/tcpspray.c:279 #, c-format msgid "" "Usage: %s [options] [service/port number]\n" "Use the discard TCP service at the specified host\n" "(the default host is the local system, the default service is discard)\n" msgstr "" "Usage: %s [options] [service/numéro de port]\n" "Utilise le service TCP « discard » sur le port indiqué (l’hôte par défaut\n" "est le système local, le service par défaut est « discard »)\n" #: src/tcpspray.c:284 msgid "" "\n" " -4 force usage of the IPv4 protocols family\n" " -6 force usage of the IPv6 protocols family\n" " -b specify the block bytes size (default: 1024)\n" " -d wait for given delay (usec) between each block (default: 0)\n" " -e perform a duplex test (TCP Echo instead of TCP Discard)\n" " -f fill sent data blocks with the specified file content\n" " -h display this help and exit\n" " -n specify the number of blocks to send (default: 100)\n" " -V display program version and exit\n" " -v enable verbose output\n" msgstr "" "\n" " -4 force l’utilisation d’IPv4\n" " -6 force l’utilisation d’IPv6\n" " -b indique la taille des blocs, en octets (1024 par défaut)\n" " -d attend le délai indiqué (µsec) entre chaque block (0 par défaut)\n" " -e effectue un test en duplex (TCP Echo au lieu de TCP Discard)\n" " -f remplis les blocs envoyés avec le contenu du fichier indiqué\n" " -h affiche cet aide et quitte le programme\n" " -n indique le nombres de blocs à envoyer (100 par défaut)\n" " -V affiche sa version et quitte le programme\n" " -v activer l’affichage verbeux\n" #: src/tcpspray.c:305 #, c-format msgid "tcpspray6: TCP/IP bandwidth tester %s (%s)\n" msgstr "tcpspray6 : testeur de bande passante TCP/IP %s (%s)\n" #: src/tcptraceroute.c:51 src/traceroute.c:1216 #, c-format msgid "" "Usage: %s [options] [%s]\n" "Print IPv6 network route to a host\n" msgstr "" "Usage: %s [options] [%s]\n" "Affiche la route sur le réseau IPv6 vers un hôte\n" #: src/tcptraceroute.c:52 msgid "port number" msgstr "numéro de port" #: src/tcptraceroute.c:54 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in probe packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -i force outgoing network interface\n" " -l set probes byte size\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override source TCP port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes (default)\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -V, --version display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" "\n" " -A envoie des requêtes TCP ACK\n" " -d active le débogage des sockets (SO_DEBUG)\n" " -E active le bit TCP Explicit Congestion Notification dans les requêtes\n" " -f indique le nombre de nœuds réseau initial (1 par défaut)\n" " -g insère un segment de route dans un entête de routage « Type 0 »\n" " -h affiche cet aide et quitte le programme\n" " -i force l’interface réseau d’envoi\n" " -l indique la taille en octet des requêtes\n" " -m indique le nombre de nœuds réseau maximal (30 par défaut)\n" " -N effectue un résolution inverse (nom vers adresse) de chaque nœud\n" " -n ne résout pas les adresses en noms\n" " -p redéfinit le port TCP source\n" " -q redéfinit le nombre de requêtes par nœud (3 par défaut)\n" " -r ne route pas les paquets\n" " -S envoie des requêtes TCP SYN (réglage par défaut)\n" " -s indique l’adresse IPv6 source des requêtes\n" " -t définit la classe de trafic des requêtes\n" " -V, --version affiche sa version et quitte le programme\n" " -w redéfinit le délai d’attente de réponse en secondes (5 par défaut)\n" " -z définit un temps de pause (en ms) entre chaque requête (0 par défaut)\n" #: src/traceroute.c:621 #, c-format msgid " %u.%03u ms " msgstr " %u.%03u ms " #: src/traceroute.c:662 msgid "[closed] " msgstr "[fermé] " #: src/traceroute.c:666 msgid "[open] " msgstr "[ouvert] " #: src/traceroute.c:724 #, c-format msgid "%s%s%s%s: %s\n" msgstr "%s%s%s%s : %s\n" #: src/traceroute.c:725 msgid "port " msgstr "port " #: src/traceroute.c:785 #, c-format msgid "traceroute to %s (%s) " msgstr "traceroute vers %s (%s) " #: src/traceroute.c:790 #, c-format msgid "from %s, " msgstr "de %s, " #: src/traceroute.c:794 #, c-format msgid "port %u, from port %u, " msgstr "port %u, du port %u, " #: src/traceroute.c:1011 #, c-format msgid "%u hop max, " msgid_plural "%u hops max, " msgstr[0] "%u saut max, " msgstr[1] "%u sauts max, " #: src/traceroute.c:1062 #, c-format msgid "%zu byte packets\n" msgid_plural "%zu bytes packets\n" msgstr[0] "%zu octet/paquet\n" msgstr[1] "%zu octets/paquet\n" #: src/traceroute.c:1090 src/traceroute.c:1164 #, c-format msgid " %3u%% completed..." msgstr " %3u%% complété..." #: src/traceroute.c:1180 msgid " " msgstr " " #: src/traceroute.c:1217 msgid "packet length" msgstr "longueur de paquet" #: src/traceroute.c:1219 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in TCP packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -I use ICMPv6 Echo Request packets as probes\n" " -i force outgoing network interface\n" " -l display incoming packets hop limit\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override destination port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -U send UDP probes (default)\n" " -V display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" "\n" " -A envoie des requêtes TCP ACK\n" " -d active le débogage des sockets (SO_DEBUG)\n" " -E active le bit TCP Explicit Congestion Notification dans les requêtes\n" " -f indique le nombre de nœuds réseau initial (1 par défaut)\n" " -g insère un segment de route dans un entête de routage « Type 0 »\n" " -h affiche cet aide et quitte le programme\n" " -I envoie des paquets ICMPv6 Echo Request comme requêtes\n" " -i force l’interface réseau d’envoi\n" " -l indique la taille en octet des requêtes\n" " -m indique le nombre de nœuds réseau maximal (30 par défaut)\n" " -N effectue un résolution inverse (nom vers adresse) de chaque nœud\n" " -n ne résout pas les adresses en noms\n" " -p redéfinit le port TCP source\n" " -q redéfinit le nombre de requêtes par nœud (3 par défaut)\n" " -r ne route pas les paquets\n" " -S envoie des requêtes TCP SYN (réglage par défaut)\n" " -s indique l’adresse IPv6 source des requêtes\n" " -t définit la classe de trafic des requêtes\n" " -U envoie des requêtes UDP (réglage par défaut)\n" " -V, --version affiche sa version et quitte le programme\n" " -w redéfinit le délai d’attente de réponse en secondes (5 par défaut)\n" " -z définit un temps de pause (en ms) entre chaque requête (0 par défaut)\n" #: src/traceroute.c:1253 #, c-format msgid "traceroute6: TCP & UDP IPv6 traceroute tool %s (%s)\n" msgstr "traceroute6 : outil de traceroute TCP & UDP IPv6 %s (%s)\n" #: src/traceroute.c:1273 #, c-format msgid "%s: invalid hop limit\n" msgstr "%s : limite de sauts (hop limit) non valide\n" #: src/traceroute.c:1287 #, c-format msgid "%s: invalid packet length\n" msgstr "%s : longueur de paquet non valide\n" ndisc6-1.0.1/po/cs.gmo0000644000175000001440000004135311530146510011345 00000000000000f0`  D Wa9|&4 HUfx  %7J Zhp$( !5K,_6(;P p|  &'%Nt))  "uTp`' = 0  ! !%!-!?! S! ^!h!m!u!!!!!=! ! "" '";3"o"+~""4" "##$&(2-1 11a1J2i2'222 22 2 3'3 E3f3333333 33$4,4,J4)w484!445/5;C555!585* 686X6 x666666667'7'E7/m777*7,8"-8P8"9 19.;9j9q;=c>v>z"AaApAvA AKAA/A.BEEB BB[A? C]/'GW<2Z`P89YdB%aV  TR)H:>Nb&U.SDK  4QI@^\+E,3e L$6-O"!;=#5FMX70cJf(1_*BB B  -1, --single display first response and exit -h, --help display this help and exit -m, --multiple wait and display all responses -n, --numeric don't resolve host names -q, --quiet only print the %s (mainly for scripts) -r, --retry maximum number of attempts (default: 3) -V, --version display program version and exit -v, --verbose verbose display (this is the default) -w, --wait how long to wait for a response [ms] (default: 1000) -4 force usage of the IPv4 protocols family -6 force usage of the IPv6 protocols family -b specify the block bytes size (default: 1024) -d wait for given delay (usec) between each block (default: 0) -e perform a duplex test (TCP Echo instead of TCP Discard) -f fill sent data blocks with the specified file content -h display this help and exit -n specify the number of blocks to send (default: 100) -V display program version and exit -v enable verbose output -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in TCP packets -f specify the initial hop limit (default: 1) -g insert a route segment within a "Type 0" routing header -h display this help and exit -I use ICMPv6 Echo Request packets as probes -i force outgoing network interface -l display incoming packets hop limit -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don't perform reverse name lookup on addresses -p override destination port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -U send UDP probes (default) -V display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in probe packets -f specify the initial hop limit (default: 1) -g insert a route segment within a "Type 0" routing header -h display this help and exit -i force outgoing network interface -l set probes byte size -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don't perform reverse name lookup on addresses -p override source TCP port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes (default) -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -V, --version display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) %3u infinite (0xffffffff) DNS server lifetime : DNS servers lifetime : Pref. time : Route lifetime : Route preference : %6s Valid time : %3u%% completed... %u.%03u ms ( 0x%02x) (%0.3f kbytes/s) MTU : Prefix : Recursive DNS server : %s Source link-layer address: built %s on %s from %s unspecified (0x00000000) %12u (0x%08x) %s %s %lu %s in %f %s%s port %s: %s %s%s%s%s: %s %s: %s %s: invalid hop limit %s: invalid packet length %u hop max, %u hops max, %zu byte packets %zu bytes packets Cannot create %s (%m) - already running?Cannot find user "%s"Cannot run "%s": %mCannot send data: %s Cannot write %s: %mChild process hung up unexpectedly, abortingChild process returned an errorConfigured with: %s Connection closed by peerCopyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont Copyright (C) %u-%u Remi Denis-Courmont Fatal error (%s): %mHop limit : Input errorNoNo response.Raw IPv6 socketReachable time : Receive error: %s ReceivedReceiving ICMPv6 packetRetransmit time : Router lifetime : Router preference : %6s Sending %ju %s with blocksize %zu %s Sending ICMPv6 packetSoliciting %s (%s) on %s... Stateful address conf. : %3s Stateful other conf. : %3s Target link-layer address: This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Timed out.TransmittedTry "%s -h" for more information. Usage: %s [-4|-6] [hostnames] Converts names to addresses. -4, --ipv4 only lookup IPv4 addresses -6, --ipv6 only lookup IPv6 addresses -c, --config only return addresses for locally configured protocols -h, --help display this help and exit -m, --multiple print multiple results separated by spaces -n, --numeric do not perform forward hostname lookup -r, --reverse perform reverse address to hostname lookup -V, --version display program version and exit Usage: %s [OPTIONS] Starts the IPv6 Recursive DNS Server discovery Daemon. -f, --foreground run in the foreground -H, --merge-hook execute this hook whenever resolv.conf is updated -h, --help display this help and exit -p, --pidfile override the location of the PID file -r, --resolv-file set the path to the generated resolv.conf file -u, --user override the user to set UID to -V, --version display program version and exit Usage: %s [options] Looks up an on-link IPv6 node link-layer address (Neighbor Discovery) Usage: %s [options] [%s] Print IPv6 network route to a host Usage: %s [options] [service/port number] Use the discard TCP service at the specified host (the default host is the local system, the default service is discard) Usage: %s [options] [IPv6 address] Solicits on-link IPv6 routers (Router Discovery) Warning: "%s" is too small (%zu %s) to fill block of %zu %s. Written by Pierre Ynard and Remi Denis-Courmont Written by Remi Denis-Courmont Yes[closed] [open] addrinfo %s (%s) advertised prefixesbytebytesfrom %s, highinvalidlink-layer addresslowmediummedium (invalid)millisecondmillisecondsndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s) packet lengthport port %u, from port %u, port numberrdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s) secondsecondstcpspray6: TCP/IP bandwidth tester %s (%s) traceroute to %s (%s) traceroute6: TCP & UDP IPv6 traceroute tool %s (%s) undefinedvalidProject-Id-Version: ndisc6 0.9.9 Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net POT-Creation-Date: 2011-02-20 10:14+0200 PO-Revision-Date: 2010-05-02 19:30+0200 Last-Translator: Petr Pisar Language-Team: Czech Language: cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; -1, --single zobrazí první odpověď a skončí -h, --help zobrazí tuto nápovědu a skončí -m, --multiple počká na a zobrazí všechny odpovědi -n, --numeric nepřekládá jména strojů -q, --quiet zobrazí pouze %s (hlavně pro skripty) -r, --retry maximální počet pokusů (implicitně: 3) -V, --version zobrazí verzi programu a skončí -v, --verbose vypisuje podrobnosti (toto je implicitní chování) -w, --wait jak dlouho čekat na odpověď [ms] (implicitně: 1000) -4 vynutí použití rodiny IPv4 protokolů -6 vynutí použití rodiny IPv6 protokolů -b určí velikost bloku v bajtech (implicitně: 1024) -d čeká zadanou dobu (µs) mezi každým blokem (implicitně: 0) -e provádí oboustranný test (TCP Echo místo TCP Discard) -f odesílané bloky dat vyplní obsahem zadaného souboru -h zobrazí tuto nápovědu a skončí -n určí počet bloků, které se mají odeslat (implicitně: 100) -V zobrazí verzi programu a skončí -v zapne upovídaný výstup -A posílá TCP ACK packety -d zapne ladění socketu -E nastaví TCP bit explicitního upozornění na zahlcení (ECN) v packetech -f určí počáteční omezení počtu hopů (implicitně: 1) -g vloží směrovací segment do směrovací hlavičky „Typ 0“ -h zobrazí tuto nápovědu a skončí -I použije packety ICMPv6 Echo Request jako zkušební dotazy -i vynutí odchozí síťové rozhraní -l zobrazuje omezení na počet hopů příchozích packetů -m nastaví maximální omezení na počet hopů (implicitně: 30) -N provádí zpětný překlad adresy každého hopu -n neprovádí zpětný překlad adres -p přebije cílový port -q přebije počet pokusů na jeden hop (implicitně: 3) -r nesměruje packety -S posílá TCP SYN packety -s určí zdrojovou IPv6 adresu zkušebních packetů -t nastaví třídu provozu zkušebním packetům -U posílá UDP packety (implicitní) -V zobrazí verzi programu a skončí -w přebije délku čekání na odpověď v sekundách (implicitně: 5) -z určí délku čekání (v ms) mezi každou zkouškou (implicitně: 0) -A posílá TCP ACK packety -d zapne ladění socketu -E nastaví TCP bit explicitního upozornění na zahlcení (ECN) v packetech -f určí počáteční omezení počtu hopů (implicitně: 1) -g vloží směrovací segment do směrovací hlavičky „Typ 0“ -h zobrazí tuto nápovědu a skončí -i vynutí odchozí síťové rozhraní -l nastaví velikost packetů v bajtech -m nastaví maximální omezení na počet hopů (implicitně: 30) -N provádí zpětný překlad adresy každého hopu -n neprovádí zpětný překlad adres -p přebije zdrojové číslo TCP portu -q přebije počet zkušebních dotazů na hop (implicitně: 3) -r nesměruje packetu -S odesílá TCP SYN packety (implicitní) -s určí zdrojovou IPv6 adresu zkušebních packetů -t nastaví třídu provozu zkušebním packetům -V, --version zobrazí verzi programu a skončí -w přebije délku čekání na odpověď v sekundách (implicitně: 5) -z určí délku čekání (v ms) mezi každou zkouškou (implicitně: 0) %3u nekonečno (0xffffffff) Životnost DNS serveru : Životnost DNS serverů : Životnost DNS serverů : Upřednostňovat po dobu : Životnost cesty : Přednost cesty : %6s Doba platnosti : %3u %% hotovo… %u,%03u ms ( 0x%02x) (%0.3f kB/s) MTU : Předpona : Rekurzivní DNS server : %s Linková adresa zdroje : sestaveno %s na %s od %s neurčeno (0x00000000) %12u (0x%08x) %s %s %lu %s v %f %s%s port %s: %s %s%s%s%s: %s %s: %s %s: neplatné omezení počtu hopů %s: neplatná délka packetu max. %u hop, max. %u hopy, max. %u hopů, %zuB packety %zuB packety %zuB packety Nelze vytvořit %s (%m) – tento program již běží?Nelze nalézt uživatele „%s“Nelze spustit „%s“: %mData nelze odeslat: %s %s nelze zapsat: %mProces potomka se neočekávaně zasekl, ukončuji činnostProces potomka vrátit chybuKonfigurováno s: %s Spojení uzavřeno druhou stranouCopyright © %u–%u Pierre Ynard, Rémi Denis-Courmont Copyright © %u–%u Rémi Denis-Courmont Nepřekonatelná chyba (%s): %mHop limit : Chyba vstupuNeŽádná odpověď.Syrový IPv6 socketDoba dosažitelnosti : Chyba na příjmu: %s PřijatoPřijímám ICMPv6 packetDoba pro znovuvyslání : Životnost routeru : Přednost routeru : %6s Odesílá se %ju %s s velikostí bloku %zu %s Odesílám ICMPv6 packetDožaduji se %s (%s) na %s… Stavová konfigurace adres : %3s Stavová další konfigurace : %3s Adresa cíle na linkové vrstvě: Toto je svobodné programové vybavení; podmínky pro rozmnožování naleznete ve zdrojových kódech. Není poskytována ŽÁDNÁ záruka, dokonce ani na OBCHODOVATELNOST nebo VHODNOST PRO URČITÝ ÚČEL. Čas vypršel.OdeslánoPodrobnosti získáte příkazem „%s -h“. Použití: %s [-4|-6] [JMÉNA_STROJŮ] Převádí jména na adresy. -4, --ipv4 hledá pouze IPv4 adresy -6, --ipv6 hledá pouze IPv6 adresy -c, --config vrátí pouze adresy vhodné pro místně nastavené protokoly -h, --help zobrazí tuto nápovědu a skončí -m, --multiple vypíše násobné výsledky oddělené mezerami -n, --numeric neprovádí dopředné hledání jmen -r, --reverse zpětně dohledá k adrese jméno stroje -V, --version zobrazí verzi programu a skončí Použití: %s [PŘEPÍNAČE] Spustí démona hledajícího IPv6 rekurzivní DNS servery (RDNSSD). -f, --foreground běží na popředí -H, --merge-hook spustí tento háček vždy, když se aktualizuje resolv.conf -h, --help zobrazí tuto nápovědu a skončí -p, --pidfile přebije umístění souboru s PID -r, --resolv-file nastaví cestu ke generovanému souboru resolv.conf -u, --user přebije uživatele, na jehož UID se mát přepnout -V, --version zobrazí verzi programu a skončí Použití: %s [PŘEPÍNAČE] Hledá adresu linkové vrstvy IPv6 uzlu na připojené lince (Neighbor Discovery) Použití: %s [PŘEPÍNAČE] [%s] Vypíše cestu IPv6 sítí ke stroji Použití: %s [PŘEPÍNAČE] [SLUŽBA/ČÍSLO_PORTU] Použije TCP službu discard na určeném stroji (implicitní stroj je místní systém, implicitní služba je discard) Použití: %s [PŘEPÍNAČE] [IPv6_ADRESA] Dožaduje se IPv6 routerů na připojené lince (Router Discovery) Pozor: „%s“ je příliš malý (%zu %s) na vyplnění bloku délky %zu %s. Napsali Pierre Ynard a Rémi Denis-Courmont Napsal Rémi Denis-Courmont Ano[zavřeno][otevřeno]addrinfo %s (%s) oznamovaná předponabajtbajtybajtůz %s, vysokáneplatnéadresa linkové vrstvynízkástřednístřední (neplatná)milisekundamilisekundymilisekundndisc6: nástroj pro hledání IPv6 sousedů/routerů %s (%s) délka packetuport port %u, z portu %u, číslo porturdnssd: Démon hledající IPv6 rekurzivní DNS servery (RDNSSD) %s (%s) sekundasekundysekundtcpspray6: zkoušečka TCP/IP průtoku %s (%s) traceroute k %s (%s) traceroute6: nástroj pro zjišťování TCP a UDP IPv6 cest %s (%s) nedefinovánoplatnéPRIu8 Route : %s/% Cesta : %s/% ndisc6-1.0.1/po/de.gmo0000644000175000001440000004145511530146510011333 00000000000000f0`  D Wa9|&4 HUfx  %7J Zhp$( !5K,_6(;P p|  &'%Nt))  "uTp`' = 0  ! !%!-!?! S! ^!h!m!u!!!!!=! ! "" '";3"o"+~""4" "##$3&('-1 1191252&R2y22 222223$93^3 q3!{3333 33 3 4)%4!O4Aq4*4(4'5$/5=T5$55:566(?6h66 66 6666 7787W7&t7,77#7)8)08!Z8|8>9 R9?^9$9;=es>>j?M!@5o@$@@ @@@@ AAA $A.AJARAYAlAHA AAA A7BNb&U.SDK  4QI@^\+E,3e L$6-O"!;=#5FMX70cJf(1_*BB  C  -1, --single display first response and exit -h, --help display this help and exit -m, --multiple wait and display all responses -n, --numeric don't resolve host names -q, --quiet only print the %s (mainly for scripts) -r, --retry maximum number of attempts (default: 3) -V, --version display program version and exit -v, --verbose verbose display (this is the default) -w, --wait how long to wait for a response [ms] (default: 1000) -4 force usage of the IPv4 protocols family -6 force usage of the IPv6 protocols family -b specify the block bytes size (default: 1024) -d wait for given delay (usec) between each block (default: 0) -e perform a duplex test (TCP Echo instead of TCP Discard) -f fill sent data blocks with the specified file content -h display this help and exit -n specify the number of blocks to send (default: 100) -V display program version and exit -v enable verbose output -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in TCP packets -f specify the initial hop limit (default: 1) -g insert a route segment within a "Type 0" routing header -h display this help and exit -I use ICMPv6 Echo Request packets as probes -i force outgoing network interface -l display incoming packets hop limit -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don't perform reverse name lookup on addresses -p override destination port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -U send UDP probes (default) -V display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in probe packets -f specify the initial hop limit (default: 1) -g insert a route segment within a "Type 0" routing header -h display this help and exit -i force outgoing network interface -l set probes byte size -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don't perform reverse name lookup on addresses -p override source TCP port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes (default) -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -V, --version display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) %3u infinite (0xffffffff) DNS server lifetime : DNS servers lifetime : Pref. time : Route lifetime : Route preference : %6s Valid time : %3u%% completed... %u.%03u ms ( 0x%02x) (%0.3f kbytes/s) MTU : Prefix : Recursive DNS server : %s Source link-layer address: built %s on %s from %s unspecified (0x00000000) %12u (0x%08x) %s %s %lu %s in %f %s%s port %s: %s %s%s%s%s: %s %s: %s %s: invalid hop limit %s: invalid packet length %u hop max, %u hops max, %zu byte packets %zu bytes packets Cannot create %s (%m) - already running?Cannot find user "%s"Cannot run "%s": %mCannot send data: %s Cannot write %s: %mChild process hung up unexpectedly, abortingChild process returned an errorConfigured with: %s Connection closed by peerCopyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont Copyright (C) %u-%u Remi Denis-Courmont Fatal error (%s): %mHop limit : Input errorNoNo response.Raw IPv6 socketReachable time : Receive error: %s ReceivedReceiving ICMPv6 packetRetransmit time : Router lifetime : Router preference : %6s Sending %ju %s with blocksize %zu %s Sending ICMPv6 packetSoliciting %s (%s) on %s... Stateful address conf. : %3s Stateful other conf. : %3s Target link-layer address: This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Timed out.TransmittedTry "%s -h" for more information. Usage: %s [-4|-6] [hostnames] Converts names to addresses. -4, --ipv4 only lookup IPv4 addresses -6, --ipv6 only lookup IPv6 addresses -c, --config only return addresses for locally configured protocols -h, --help display this help and exit -m, --multiple print multiple results separated by spaces -n, --numeric do not perform forward hostname lookup -r, --reverse perform reverse address to hostname lookup -V, --version display program version and exit Usage: %s [OPTIONS] Starts the IPv6 Recursive DNS Server discovery Daemon. -f, --foreground run in the foreground -H, --merge-hook execute this hook whenever resolv.conf is updated -h, --help display this help and exit -p, --pidfile override the location of the PID file -r, --resolv-file set the path to the generated resolv.conf file -u, --user override the user to set UID to -V, --version display program version and exit Usage: %s [options] Looks up an on-link IPv6 node link-layer address (Neighbor Discovery) Usage: %s [options] [%s] Print IPv6 network route to a host Usage: %s [options] [service/port number] Use the discard TCP service at the specified host (the default host is the local system, the default service is discard) Usage: %s [options] [IPv6 address] Solicits on-link IPv6 routers (Router Discovery) Warning: "%s" is too small (%zu %s) to fill block of %zu %s. Written by Pierre Ynard and Remi Denis-Courmont Written by Remi Denis-Courmont Yes[closed] [open] addrinfo %s (%s) advertised prefixesbytebytesfrom %s, highinvalidlink-layer addresslowmediummedium (invalid)millisecondmillisecondsndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s) packet lengthport port %u, from port %u, port numberrdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s) secondsecondstcpspray6: TCP/IP bandwidth tester %s (%s) traceroute to %s (%s) traceroute6: TCP & UDP IPv6 traceroute tool %s (%s) undefinedvalidProject-Id-Version: ndisc6 0.9.8 Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net POT-Creation-Date: 2011-02-20 10:14+0200 PO-Revision-Date: 2010-05-01 22:36+0100 Last-Translator: Chris Leick Language-Team: German Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); -1, --single erste Antwort anzeigen und beenden -h, --help diese Hilfe anzeigen und beenden -m, --multiple warten und alle Antworten anzeigen -n, --numeric Rechnernamen nicht auflösen -q, --quiet nur %s ausgeben (hauptsächlich für Skripte) -r, --retry maximale Anzahl der Versuche (Standard: 3) -V, --version Programmversion anzeigen und beenden -v, --verbose detaillierte Anzeige (dies ist Standard) -w, --wait wie lange auf eine Antwort gewartet wird [ms] (Standard: 1000) -4 den Gebrauch der IPv4-Protokollfamilie erzwingen -6 den Gebrauch der IPv6-Protokollfamilie erzwingen -b Blockgröße in Byte angeben (Standard: 1024) -d zwischen jedem Block die angegebene Dauer (µs) warten (Standard: 0) -e einen Duplex-Test durchführen (TCP-Echo anstatt TCP-Verwerfen) -f gesandte Datenblöcke mit dem angegebenen Dateiinhalt füllen -h diese Hilfe anzeigen und beenden -n die Anzahl der zu sendenden Blöcke angeben (Standard: 100) -V Programmversion anzeigen und beenden -v detaillierte Ausgabe einschalten -A TCP-ACK-Tests senden -d Socket-Fehlersuche einschalten -E explizite TCP-Stau-Benachrichtigungs-Bits in Test-Paketen setzen -f die anfängliche Sprungbegrenzung angeben (Standard: 1) -g einen Routen-Abschnitt in von »Typ 0«-Routing-Kopfzeilen einfügen -h diese Hilfe anzeigen und beenden -I ICMPv6-Echo-Anfragepakete als Tests benutzen -i ausgehende Netzwerkschnittstelle erzwingen -l Test-Größe in Byte setzen -m die maximale Sprungbegrenzung setzen (Standard: 30) -N Rückwärts-Namensauflösung auf Adressen jedes Sprungs durchführen -n keine Rückwärts-Namensauflösung auf Adressen durchführen -p Quell-TCP-Port überschreiben -q die Anzahl der Tests pro Sprung überschreiben (Standard: 3) -r Pakete nicht routen -S TCP-SYN-Tests senden (Standard) -s die Quell-IPv6-Adresse von Testpaketen angeben -t Verkehrsklasse von Testpaketen setzen -U UDP-Tests senden (Standard) -V, --version Programmversion anzeigen und beenden -w Zeitüberschreitung für Antworten in Sekunden überschreiben (Standard: 5) -z Wartezeit (in ms) zwischen jedem Test angeben (Standard: 0) -A TCP-ACK-Tests senden -d Socket-Fehlersuche einschalten -E explizite TCP-Stau-Benachrichtigungs-Bits in Test-Paketen setzen -f die anfängliche Sprungbegrenzung angeben (Standard: 1) -g einen Routen-Abschnitt in »Typ 0«-Routing-Kopfzeilen einfügen -h diese Hilfe anzeigen und beenden -i ausgehende Netzwerkschnittstelle erzwingen -l Test-Größe in Byte setzen -m die maximale Sprungbegrenzung setzen (Standard: 30) -N Rückwärts-Namensauflösung auf Adressen jedes Sprungs durchführen -n keine Rückwärts-Namensauflösung auf Adressen durchführen -p Quell-TCP-Port überschreiben -q die Anzahl der Tests pro Sprung überschreiben (Standard: 3) -r Pakete nicht routen -S TCP-SYN-Tests senden (Standard) -s die Quell-IPv6-Adresse von Testpaketen angeben -t Verkehrsklasse von Testpaketen setzen -V, --version Programmversion anzeigen und beenden -w Zeitüberschreitung für Antworten in Sekunden überschreiben (Standard: 5) -z Wartezeit (in ms) zwischen jedem Test angeben (Standard: 0) %3u endlos (0xffffffff) DNS-Server-Lebensdauer : DNS-Server-Lebensdauer : Wunschzeit : Routen-Lebensdauer : Routen-Einstellung : %6s Gültigkeitszeit : %3u%% vollständig ... %u.%03u ms ( 0x%02x) (%0.3f KByte/s) MTU : Präfix : Rekursiver DNS-Server : %s Quell-Verknüpfungsebenen-Adresse: %s auf %s gebaut von %s nicht spezifiziert (0x00000000) %12u (0x%08x) %s %s %lu %s in %f %s%s Port %s: %s %s%s%s%s: %s %s: %s %s: Ungültige Sprungbegrenzung %s: Ungültige Paketlänge maximal %u Sprung, maximal %u Sprünge, %zu Byte Pakete %zu Byte Pakete %s kann nicht erstellt werden (%m) - wird es bereits ausgeführt?Benutzer »%s« kann nicht gefunden werden»%s« kann nicht ausgeführt werden: %mDaten können nicht gesandt werden: %s %s kann nicht geschrieben werden: %mKindprozess hat sich unerwartet aufgehängt, wird abgebrochenKindprozess gab einen Fehler zurückKonfiguriert mit: %s Verbindung durch gleichberechtigten Teilnehmer geschlossenCopyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont Copyright (C) %u-%u Remi Denis-Courmont Schwerwiegender Fehler (%s): %mSprungbegrenzung : EingabefehlerNeinKeine AntwortOriginal-IPv6-SocketErreichbarkeitszeit : Erhaltener Fehler: %s EmpfangenICMPv6-Paket wird empfangenRückübertragungszeit : Router-Lebensdauer : Router-Einstellung : %6s %ju %s mit Blockgröße %zu %s wird gesandt ICMPv6-Paket wird gesandt%s wird angeboten (%s) auf %s ... Zustandsorientierte Adresskonf. : %3s Andere zustandsorientierte Konf. : %3s Ziel-Verknüpfungsebenen-Adresse:Dies ist freie Software; die Kopierbedingungen finden Sie im Quelltext. Es gibt KEINE Gewährleistung, noch nicht einmal für die MARKTGÄNGIGKEIT oder die EIGNUNG FÜR EINEN SPEZIELLEN ZWECK. ZeitüberschreitungÜbertragenVersuchen Sie »%s -h«, um weitere Informationen zu erhalten. Aufruf: %s [-4|-6] [Rechnernamen] Wandelt Namen in Adressen um. -4, --ipv4 nur IPv4-Adressen durchsuchen -6, --ipv6 nur IPv6-Adressen durchsuchen -c, --config nur Adressen lokal konfigurierter Protokolle zurückgeben -h, --help diese Hilfe anzeigen und beenden -m, --multiple mehrere Ergebnisse durch Komma getrennt ausgeben -n, --numeric keine Vorwärtssuche von Rechnernamen durchführen -r, --reverse Rückwärtssuche von Adressen zu Rechnernamen durchführen -V, --version Programmversion anzeigen und beenden Aufruf: %s [OPTIONEN] Startet den rekursiven IPv6-DNS-Server-Such-Daemon. -f, --foreground im Vordergrund ausführen -H, --merge-hook diesen Hook bei jeder Aktualisierung von »resolv.conf« ausführen -h, --help diese Hilfe anzeigen und beenden -p, --pidfile den Ort der PID-Datei überschreiben -r, --resolv-file den Pfad zur generierten »resolv.conf«-Datei setzen -u, --user Benutzer überschreiben, um UID zu setzen -V, --version Programmversion anzeigen und beenden Aufruf: %s [Optionen] Durchsucht die Verknüpfungsebenen-Adresse eines angebundenen IPv6-Knotens (Nachbarschaftserkundung) Aufruf: %s [Optionen] [%s] IPv6-Netzwerk-Route zu einem Rechner anzeigen Aufruf: %s [Optionen] [Dienst/Port-Nummer] Den Dienst zum Verwerfen von TCP auf dem angegebenen Rechner benutzen. (Der Standard-Rechner ist das lokale System, der Standarddienst ist »verwerfen«.) Aufruf: %s [Optionen] [IPv6-Adresse] Bietet angebundene IPv6-Router an (Router-Erkundung) Warnung: »%s« ist zu klein (%zu %s), um einen Block von %zu %s zu füllen. Geschrieben von Pierre Ynard und Remi Denis-Courmont Geschrieben von Remi Denis-Courmont Ja[geschlossen][offen]addrinfo %s (%s) angekündigte PräfixeByteBytevon %s, hochungültigVerknüpfungsebenen-Adresseniedrigmittelmittel (ungültig)MillisekundeMillisekundenndisc6: IPv6-Nachbarschafts-/Router-Erkundungs-Anwenderwerkzeug %s (%s) Paket-LängePortPort %u, von Port %u, Portnummerrdnssd: Rekursiver IPv6-DNS-Server-Such-Daemon %s (%s) SekundeSekundentcpspray6: TCP/IP-Bandbreitentester %s (%s) »traceroute« zu %s (%s) traceroute6: TCP- & UDP-IPv6-Traceroute-Werkzeug %s (%s) undefiniertgültigPRIu8 Route : %s/% Route : %s/% ndisc6-1.0.1/po/Rules-quot0000644000175000001440000000337610644512264012252 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header ndisc6-1.0.1/po/en.gmo0000644000175000001440000001610111530146510011333 00000000000000HI#  6 ( "* =M 0    yUC56(H&qA1 -     -1, --single display first response and exit -h, --help display this help and exit -m, --multiple wait and display all responses -n, --numeric don't resolve host names -q, --quiet only print the %s (mainly for scripts) -r, --retry maximum number of attempts (default: 3) -V, --version display program version and exit -v, --verbose verbose display (this is the default) -w, --wait how long to wait for a response [ms] (default: 1000) -4 force usage of the IPv4 protocols family -6 force usage of the IPv6 protocols family -b specify the block bytes size (default: 1024) -d wait for given delay (usec) between each block (default: 0) -e perform a duplex test (TCP Echo instead of TCP Discard) -f fill sent data blocks with the specified file content -h display this help and exit -n specify the number of blocks to send (default: 100) -V display program version and exit -v enable verbose output -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in TCP packets -f specify the initial hop limit (default: 1) -g insert a route segment within a "Type 0" routing header -h display this help and exit -I use ICMPv6 Echo Request packets as probes -i force outgoing network interface -l display incoming packets hop limit -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don't perform reverse name lookup on addresses -p override destination port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -U send UDP probes (default) -V display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in probe packets -f specify the initial hop limit (default: 1) -g insert a route segment within a "Type 0" routing header -h display this help and exit -i force outgoing network interface -l set probes byte size -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don't perform reverse name lookup on addresses -p override source TCP port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes (default) -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -V, --version display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) Cannot find user "%s"Cannot run "%s": %mCopyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont Copyright (C) %u-%u Remi Denis-Courmont Try "%s -h" for more information. Warning: "%s" is too small (%zu %s) to fill block of %zu %s. Written by Pierre Ynard and Remi Denis-Courmont Written by Remi Denis-Courmont advertised prefixesProject-Id-Version: ndisc6 0.9.4 Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net POT-Creation-Date: 2011-02-20 10:14+0200 PO-Revision-Date: 2007-12-27 19:14+0200 Last-Translator: Rémi Denis-Courmont Language-Team: English Language: en MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); -1, --single display first response and exit -h, --help display this help and exit -m, --multiple wait and display all responses -n, --numeric don’t resolve host names -q, --quiet only print the %s (mainly for scripts) -r, --retry maximum number of attempts (default: 3) -V, --version display program version and exit -v, --verbose verbose display (this is the default) -w, --wait how long to wait for a response [ms] (default: 1000) -4 force usage of the IPv4 protocols family -6 force usage of the IPv6 protocols family -b specify the block bytes size (default: 1024) -d wait for given delay (µsec) between each block (default: 0) -e perform a duplex test (TCP Echo instead of TCP Discard) -f fill sent data blocks with the specified file content -h display this help and exit -n specify the number of blocks to send (default: 100) -V display program version and exit -v enable verbose output -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in TCP packets -f specify the initial hop limit (default: 1) -g insert a route segment within a “Type 0” routing header -h display this help and exit -I use ICMPv6 Echo Request packets as probes -i force outgoing network interface -l display incoming packets hop limit -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don’t perform reverse name lookup on addresses -p override destination port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -U send UDP probes (default) -V display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in probe packets -f specify the initial hop limit (default: 1) -g insert a route segment within a “Type 0” routing header -h display this help and exit -i force outgoing network interface -l set probes byte size -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don’t perform reverse name lookup on addresses -p override source TCP port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes (default) -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -V, --version display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) Cannot find user “%s”Cannot run “%s”: %mCopyright © %u-%u Pierre Ynard, Rémi Denis-Courmont Copyright © %u-%u Rémi Denis-Courmont Try “%s -h” for more information. Warning: “%s” is too small (%zu %s) to fill block of %zu %s. Written by Pierre Ynard and Rémi Denis-Courmont Written by Rémi Denis-Courmont advertized prefixesndisc6-1.0.1/po/fr.gmo0000644000175000001440000004157411530146510011354 00000000000000f0`  D Wa9|&4 HUfx  %7J Zhp$( !5K,_6(;P p|  &'%Nt))  "uTp`' = 0  ! !%!-!?! S! ^!h!m!u!!!!!=! ! "" '";3"o"+~""4" "##)$&(k-2 02:2;U222(223 ,393 J3X3u3!333334 434E4 U4-_4$44$4.4.#5'R5*z55<5"6$6(;66d6(666677$767U7q7w777(7#78"28+U8*88899-9E9&<:>i>%?i@Ak@0@ @@ A AA)A =AJARAZAcA}AAAACAABB*BH:BB6BB:B C+C[A? C]/'GW<2Z`P89YdB%aV  TR)H:>Nb&U.SDK  4QI@^\+E,3e L$6-O"!;=#5FMX70cJf(1_*2C8C ZC  -1, --single display first response and exit -h, --help display this help and exit -m, --multiple wait and display all responses -n, --numeric don't resolve host names -q, --quiet only print the %s (mainly for scripts) -r, --retry maximum number of attempts (default: 3) -V, --version display program version and exit -v, --verbose verbose display (this is the default) -w, --wait how long to wait for a response [ms] (default: 1000) -4 force usage of the IPv4 protocols family -6 force usage of the IPv6 protocols family -b specify the block bytes size (default: 1024) -d wait for given delay (usec) between each block (default: 0) -e perform a duplex test (TCP Echo instead of TCP Discard) -f fill sent data blocks with the specified file content -h display this help and exit -n specify the number of blocks to send (default: 100) -V display program version and exit -v enable verbose output -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in TCP packets -f specify the initial hop limit (default: 1) -g insert a route segment within a "Type 0" routing header -h display this help and exit -I use ICMPv6 Echo Request packets as probes -i force outgoing network interface -l display incoming packets hop limit -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don't perform reverse name lookup on addresses -p override destination port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -U send UDP probes (default) -V display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) -A send TCP ACK probes -d enable socket debugging -E set TCP Explicit Congestion Notification bits in probe packets -f specify the initial hop limit (default: 1) -g insert a route segment within a "Type 0" routing header -h display this help and exit -i force outgoing network interface -l set probes byte size -m set the maximum hop limit (default: 30) -N perform reverse name lookups on the addresses of every hop -n don't perform reverse name lookup on addresses -p override source TCP port -q override the number of probes per hop (default: 3) -r do not route packets -S send TCP SYN probes (default) -s specify the source IPv6 address of probe packets -t set traffic class of probe packets -V, --version display program version and exit -w override the timeout for response in seconds (default: 5) -z specify a time to wait (in ms) between each probes (default: 0) %3u infinite (0xffffffff) DNS server lifetime : DNS servers lifetime : Pref. time : Route lifetime : Route preference : %6s Valid time : %3u%% completed... %u.%03u ms ( 0x%02x) (%0.3f kbytes/s) MTU : Prefix : Recursive DNS server : %s Source link-layer address: built %s on %s from %s unspecified (0x00000000) %12u (0x%08x) %s %s %lu %s in %f %s%s port %s: %s %s%s%s%s: %s %s: %s %s: invalid hop limit %s: invalid packet length %u hop max, %u hops max, %zu byte packets %zu bytes packets Cannot create %s (%m) - already running?Cannot find user "%s"Cannot run "%s": %mCannot send data: %s Cannot write %s: %mChild process hung up unexpectedly, abortingChild process returned an errorConfigured with: %s Connection closed by peerCopyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont Copyright (C) %u-%u Remi Denis-Courmont Fatal error (%s): %mHop limit : Input errorNoNo response.Raw IPv6 socketReachable time : Receive error: %s ReceivedReceiving ICMPv6 packetRetransmit time : Router lifetime : Router preference : %6s Sending %ju %s with blocksize %zu %s Sending ICMPv6 packetSoliciting %s (%s) on %s... Stateful address conf. : %3s Stateful other conf. : %3s Target link-layer address: This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Timed out.TransmittedTry "%s -h" for more information. Usage: %s [-4|-6] [hostnames] Converts names to addresses. -4, --ipv4 only lookup IPv4 addresses -6, --ipv6 only lookup IPv6 addresses -c, --config only return addresses for locally configured protocols -h, --help display this help and exit -m, --multiple print multiple results separated by spaces -n, --numeric do not perform forward hostname lookup -r, --reverse perform reverse address to hostname lookup -V, --version display program version and exit Usage: %s [OPTIONS] Starts the IPv6 Recursive DNS Server discovery Daemon. -f, --foreground run in the foreground -H, --merge-hook execute this hook whenever resolv.conf is updated -h, --help display this help and exit -p, --pidfile override the location of the PID file -r, --resolv-file set the path to the generated resolv.conf file -u, --user override the user to set UID to -V, --version display program version and exit Usage: %s [options] Looks up an on-link IPv6 node link-layer address (Neighbor Discovery) Usage: %s [options] [%s] Print IPv6 network route to a host Usage: %s [options] [service/port number] Use the discard TCP service at the specified host (the default host is the local system, the default service is discard) Usage: %s [options] [IPv6 address] Solicits on-link IPv6 routers (Router Discovery) Warning: "%s" is too small (%zu %s) to fill block of %zu %s. Written by Pierre Ynard and Remi Denis-Courmont Written by Remi Denis-Courmont Yes[closed] [open] addrinfo %s (%s) advertised prefixesbytebytesfrom %s, highinvalidlink-layer addresslowmediummedium (invalid)millisecondmillisecondsndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s) packet lengthport port %u, from port %u, port numberrdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s) secondsecondstcpspray6: TCP/IP bandwidth tester %s (%s) traceroute to %s (%s) traceroute6: TCP & UDP IPv6 traceroute tool %s (%s) undefinedvalidProject-Id-Version: ndisc6 0.9.4 Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net POT-Creation-Date: 2011-02-20 10:14+0200 PO-Revision-Date: 2007-12-27 19:15+0200 Last-Translator: Rémi Denis-Courmont Language-Team: French Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n>1; -1, --single affiche la première réponse et quitte le programme -h, --help affiche display cet aide et quitte le programme -m, --multiple attend et affiche toutes les réponses -n, --numeric ne résout pas les noms d'hôtes -q, --quiet affiche seulement les %s (pour scripts) -r, --retry nombre de tentatives maximum (3 par défaut) -V, --version affiche sa version et quitte le programme -v, --verbose affichage verbeux (activé par défaut) -w, --wait temps d'attente pour une réponse [ms] (1000 par défaut) -4 force l’utilisation d’IPv4 -6 force l’utilisation d’IPv6 -b indique la taille des blocs, en octets (1024 par défaut) -d attend le délai indiqué (µsec) entre chaque block (0 par défaut) -e effectue un test en duplex (TCP Echo au lieu de TCP Discard) -f remplis les blocs envoyés avec le contenu du fichier indiqué -h affiche cet aide et quitte le programme -n indique le nombres de blocs à envoyer (100 par défaut) -V affiche sa version et quitte le programme -v activer l’affichage verbeux -A envoie des requêtes TCP ACK -d active le débogage des sockets (SO_DEBUG) -E active le bit TCP Explicit Congestion Notification dans les requêtes -f indique le nombre de nœuds réseau initial (1 par défaut) -g insère un segment de route dans un entête de routage « Type 0 » -h affiche cet aide et quitte le programme -I envoie des paquets ICMPv6 Echo Request comme requêtes -i force l’interface réseau d’envoi -l indique la taille en octet des requêtes -m indique le nombre de nœuds réseau maximal (30 par défaut) -N effectue un résolution inverse (nom vers adresse) de chaque nœud -n ne résout pas les adresses en noms -p redéfinit le port TCP source -q redéfinit le nombre de requêtes par nœud (3 par défaut) -r ne route pas les paquets -S envoie des requêtes TCP SYN (réglage par défaut) -s indique l’adresse IPv6 source des requêtes -t définit la classe de trafic des requêtes -U envoie des requêtes UDP (réglage par défaut) -V, --version affiche sa version et quitte le programme -w redéfinit le délai d’attente de réponse en secondes (5 par défaut) -z définit un temps de pause (en ms) entre chaque requête (0 par défaut) -A envoie des requêtes TCP ACK -d active le débogage des sockets (SO_DEBUG) -E active le bit TCP Explicit Congestion Notification dans les requêtes -f indique le nombre de nœuds réseau initial (1 par défaut) -g insère un segment de route dans un entête de routage « Type 0 » -h affiche cet aide et quitte le programme -i force l’interface réseau d’envoi -l indique la taille en octet des requêtes -m indique le nombre de nœuds réseau maximal (30 par défaut) -N effectue un résolution inverse (nom vers adresse) de chaque nœud -n ne résout pas les adresses en noms -p redéfinit le port TCP source -q redéfinit le nombre de requêtes par nœud (3 par défaut) -r ne route pas les paquets -S envoie des requêtes TCP SYN (réglage par défaut) -s indique l’adresse IPv6 source des requêtes -t définit la classe de trafic des requêtes -V, --version affiche sa version et quitte le programme -w redéfinit le délai d’attente de réponse en secondes (5 par défaut) -z définit un temps de pause (en ms) entre chaque requête (0 par défaut) %3u infini (0xffffffff) Validité du serveur : Validité des serveurs : Durée de préférence : Durée de vie de route : Préférence de route : %6s Durée de validité : %3u%% complété... %u.%03u ms ( 0x%02x) (%0.3f ko/s) MTU : Préfixe : Serveur DNS récursif  : %s Adresse source de lien : compilé le %s sur %s de %s non indiqué (0x00000000) %12u (0x%08x) %s %s %lu %s en %f %s%s port %s : %s %s%s%s%s : %s %s : %s %s : limite de sauts (hop limit) non valide %s : longueur de paquet non valide %u saut max, %u sauts max, %zu octet/paquet %zu octets/paquet Impossible de créer %s (%m) - déjà lancé ?Impossible de trouver l’utilisateur « %s »Impossible d’exécuter « %s » : %mImpossible d’envoyer les données : %s Impossible d’écrire %s : %mLe processus fils a raccroché de façon inattendue, abandonLe processus a renvoyé une erreurConfiguré avec : %s Connexion terminée par le correspondantCopyright © %u-%u Pierre Ynard, Rémi Denis-Courmont Copyright © %u-%u Rémi Denis-Courmont Erreur fatale (%s) : %mLimite de saut (TTL) : Erreur d’entréeNonPas de réponse.Socket IPv6 bruteTemps d’atteinte : Erreur de réception : %s ReçuRéception de paquet ICMPv6Temps de retransmission : Durée de vie du routeur : Préférence du routeur : %6s Envoi de %ju %s par bloc de %zu %s Envoi de paquet ICMPv6Solicitation de %s (%s) sur %s... Conf. d’adresse par DHCP : %3s Autres réglages par DHCP : %3s Adresse cible de lien : Ce logiciel est libre; voir les sources pour les conditions de reproduction. Il n’y a AUCUNE garantie; pas même pour la COMMERCIALISATION ou l’ADÉQUATION POUR UNE UTILISATION PARTICULIÈRE. Expiré.TransmisEssayez « %s -h » pour plus de détails. Usage: %s [-4|-6] [noms d’hôte] Convertit les noms en adresses. -4, --ipv4 recherche uniquement les adresses IPv4 -6, --ipv6 recherche uniquement les adresses IPv6 -c, --config ignore les adresses pour des protocoles réseaux non gérés -h, --help affiche cet aide et quitte le programme -m, --multiple affiche les résultats multiples séparés par des espaces -n, --numeric ne résout pas les noms d'hôte en adresse -r, --reverse effectue une résolution inversée : adresse vers nom -V, --version affiche sa version et quitte le programme Usage: %s [OPTIONS] Démarre le démon de Découverte IPv6 des Serveurs DNS Récursifs. -f, --foreground s’exécute en avant plan -H, --merge-hook exécute ce script quand resolv.conf est mis à jour -h, --help affiche cette aide et se termine -p, --pidfile redéfinit l’emplacement du fichier de PID -r, --resolv-file règle le chemin vers le fichier resolv.conf généré -u, --user redéfinit l’utilisateur qui exécute le programme (setuid) -V, --version affiche la version du programme et se termine Usage: %s [options] Recherche l’adresse de lien d’un nœud IPv6 sur le lien (Neighbor Discovery) Usage: %s [options] [%s] Affiche la route sur le réseau IPv6 vers un hôte Usage: %s [options] [service/numéro de port] Utilise le service TCP « discard » sur le port indiqué (l’hôte par défaut est le système local, le service par défaut est « discard ») Usage: %s [options] [adresse IPv6] Solicite les routeurs IPv6 sur le lien (Router Discovery) Warning: “%s” is too small (%zu %s) to fill block of %zu %s. Écrit par Pierre Ynard et Rémi Denis-Courmont Écrit par Rémi Denis-Courmont Oui[fermé] [ouvert] addrinfo %s (%s) préfixes annoncésoctetoctetsde %s, élevéinvalideadresse de la couche lienfaiblemoyenmoyen (incorrect)millisecondemillisecondesndisc6 : outil pour la découverte de voisin/routeur IPv6 %s (%s) longueur de paquetport port %u, du port %u, numéro de portrdnssd : démon de Découverte IPv6 des Serveurs DNS Récursifs %s (%s) secondesecondestcpspray6 : testeur de bande passante TCP/IP %s (%s) traceroute vers %s (%s) traceroute6 : outil de traceroute TCP & UDP IPv6 %s (%s) non définivalidePRIu8 Route : %s/% Route : %s/% ndisc6-1.0.1/po/en@boldquot.header0000644000175000001440000000247110644512264013670 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # ndisc6-1.0.1/po/quot.sed0000644000175000001440000000023110644512265011720 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g ndisc6-1.0.1/po/en.po0000644000175000001440000004146611530146510011203 00000000000000# English localization for ndisc6. # Copyright © 2007 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. # Rémi Denis-Courmont, 2007. # msgid "" msgstr "" "Project-Id-Version: ndisc6 0.9.4\n" "Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net\n" "POT-Creation-Date: 2011-02-20 10:14+0200\n" "PO-Revision-Date: 2007-12-27 19:14+0200\n" "Last-Translator: Rémi Denis-Courmont\n" "Language-Team: English \n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: rdnssd/rdnssd.c:88 rdnssd/rdnssd.c:109 #, c-format msgid "Cannot write %s: %m" msgstr "" #: rdnssd/rdnssd.c:226 #, c-format msgid "Cannot find user \"%s\"" msgstr "Cannot find user “%s”" #: rdnssd/rdnssd.c:322 rdnssd/rdnssd.c:406 rdnssd/rdnssd.c:445 #, c-format msgid "Fatal error (%s): %m" msgstr "" #: rdnssd/rdnssd.c:349 rdnssd/rdnssd.c:353 #, c-format msgid "Cannot run \"%s\": %m" msgstr "Cannot run “%s”: %m" #: rdnssd/rdnssd.c:385 msgid "Child process hung up unexpectedly, aborting" msgstr "" #: rdnssd/rdnssd.c:509 src/addrinfo.c:144 src/ndisc.c:746 src/tcpspray.c:270 #: src/tcptraceroute.c:42 src/traceroute.c:1207 #, c-format msgid "Try \"%s -h\" for more information.\n" msgstr "Try “%s -h” for more information.\n" #: rdnssd/rdnssd.c:519 #, c-format msgid "" "Usage: %s [OPTIONS]\n" "Starts the IPv6 Recursive DNS Server discovery Daemon.\n" "\n" " -f, --foreground run in the foreground\n" " -H, --merge-hook execute this hook whenever resolv.conf is updated\n" " -h, --help display this help and exit\n" " -p, --pidfile override the location of the PID file\n" " -r, --resolv-file set the path to the generated resolv.conf file\n" " -u, --user override the user to set UID to\n" " -V, --version display program version and exit\n" msgstr "" #: rdnssd/rdnssd.c:536 #, c-format msgid "rdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s)\n" msgstr "" #: rdnssd/rdnssd.c:538 src/addrinfo.c:152 src/ndisc.c:777 src/tcpspray.c:306 #: src/traceroute.c:1254 #, c-format msgid " built %s on %s\n" msgstr "" #: rdnssd/rdnssd.c:539 src/addrinfo.c:153 src/ndisc.c:779 src/tcpspray.c:307 #: src/traceroute.c:1255 #, c-format msgid "Configured with: %s\n" msgstr "" #: rdnssd/rdnssd.c:540 msgid "Written by Pierre Ynard and Remi Denis-Courmont\n" msgstr "Written by Pierre Ynard and Rémi Denis-Courmont\n" #: rdnssd/rdnssd.c:542 #, c-format msgid "Copyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont\n" msgstr "Copyright © %u-%u Pierre Ynard, Rémi Denis-Courmont\n" #: rdnssd/rdnssd.c:545 src/addrinfo.c:157 src/ndisc.c:783 src/tcpspray.c:311 #: src/traceroute.c:1259 msgid "" "This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" #: rdnssd/rdnssd.c:658 #, c-format msgid "Cannot create %s (%m) - already running?" msgstr "" #: src/addrinfo.c:116 msgid "Input error" msgstr "" #: src/addrinfo.c:127 #, c-format msgid "" "Usage: %s [-4|-6] [hostnames]\n" "Converts names to addresses.\n" "\n" " -4, --ipv4 only lookup IPv4 addresses\n" " -6, --ipv6 only lookup IPv6 addresses\n" " -c, --config only return addresses for locally configured protocols\n" " -h, --help display this help and exit\n" " -m, --multiple print multiple results separated by spaces\n" " -n, --numeric do not perform forward hostname lookup\n" " -r, --reverse perform reverse address to hostname lookup\n" " -V, --version display program version and exit\n" msgstr "" #: src/addrinfo.c:151 #, c-format msgid "addrinfo %s (%s)\n" msgstr "" #: src/addrinfo.c:154 src/ndisc.c:780 src/tcpspray.c:308 src/traceroute.c:1256 msgid "Written by Remi Denis-Courmont\n" msgstr "Written by Rémi Denis-Courmont\n" #: src/addrinfo.c:156 src/ndisc.c:782 src/tcpspray.c:310 src/traceroute.c:1258 #, c-format msgid "Copyright (C) %u-%u Remi Denis-Courmont\n" msgstr "Copyright © %u-%u Rémi Denis-Courmont\n" #: src/ndisc.c:91 src/traceroute.c:947 #, c-format msgid "%s: %s\n" msgstr "" #: src/ndisc.c:177 #, c-format msgid "" "Usage: %s [options] \n" "Looks up an on-link IPv6 node link-layer address (Neighbor Discovery)\n" msgstr "" #: src/ndisc.c:179 msgid "link-layer address" msgstr "" #: src/ndisc.c:258 msgid "Target link-layer address: " msgstr "" #: src/ndisc.c:271 #, c-format msgid "" "Usage: %s [options] [IPv6 address] \n" "Solicits on-link IPv6 routers (Router Discovery)\n" msgstr "" #: src/ndisc.c:273 msgid "advertised prefixes" msgstr "advertized prefixes" #: src/ndisc.c:298 msgid " infinite (0xffffffff)\n" msgstr "" #: src/ndisc.c:300 src/ndisc.c:441 src/ndisc.c:448 src/ndisc.c:457 #, c-format msgid "%12u (0x%08x) %s\n" msgstr "" #: src/ndisc.c:301 src/ndisc.c:442 src/tcpspray.c:120 msgid "second" msgid_plural "seconds" msgstr[0] "" msgstr[1] "" #: src/ndisc.c:319 msgid " Prefix : " msgstr "" #: src/ndisc.c:324 msgid " Valid time : " msgstr "" #: src/ndisc.c:326 msgid " Pref. time : " msgstr "" #: src/ndisc.c:338 msgid " MTU : " msgstr "" #: src/ndisc.c:340 src/tcpspray.c:119 src/tcpspray.c:155 src/tcpspray.c:156 #: src/tcpspray.c:164 src/tcpspray.c:165 msgid "byte" msgid_plural "bytes" msgstr[0] "" msgstr[1] "" #: src/ndisc.c:341 msgid "valid" msgstr "" #: src/ndisc.c:341 msgid "invalid" msgstr "" #: src/ndisc.c:349 msgid "medium" msgstr "" #: src/ndisc.c:349 msgid "high" msgstr "" #: src/ndisc.c:349 msgid "medium (invalid)" msgstr "" #: src/ndisc.c:349 msgid "low" msgstr "" #: src/ndisc.c:367 #, c-format msgid " Route : %s/%\n" msgstr "" #: src/ndisc.c:368 #, c-format msgid " Route preference : %6s\n" msgstr "" #: src/ndisc.c:369 msgid " Route lifetime : " msgstr "" #: src/ndisc.c:391 #, c-format msgid " Recursive DNS server : %s\n" msgstr "" #: src/ndisc.c:394 msgid " DNS server lifetime : " msgid_plural " DNS servers lifetime : " msgstr[0] "" msgstr[1] "" #: src/ndisc.c:423 msgid "Hop limit : " msgstr "" #: src/ndisc.c:426 #, c-format msgid " %3u" msgstr "" #: src/ndisc.c:428 msgid "undefined" msgstr "" #: src/ndisc.c:429 #, c-format msgid " ( 0x%02x)\n" msgstr "" #: src/ndisc.c:432 #, c-format msgid "Stateful address conf. : %3s\n" msgstr "" #: src/ndisc.c:433 src/ndisc.c:435 msgid "Yes" msgstr "" #: src/ndisc.c:433 src/ndisc.c:435 msgid "No" msgstr "" #: src/ndisc.c:434 #, c-format msgid "Stateful other conf. : %3s\n" msgstr "" #: src/ndisc.c:436 #, c-format msgid "Router preference : %6s\n" msgstr "" #: src/ndisc.c:439 msgid "Router lifetime : " msgstr "" #: src/ndisc.c:445 msgid "Reachable time : " msgstr "" #: src/ndisc.c:449 src/ndisc.c:458 msgid "millisecond" msgid_plural "milliseconds" msgstr[0] "" msgstr[1] "" #: src/ndisc.c:451 src/ndisc.c:460 msgid " unspecified (0x00000000)\n" msgstr "" #: src/ndisc.c:454 msgid "Retransmit time : " msgstr "" #: src/ndisc.c:483 msgid " Source link-layer address: " msgstr "" #: src/ndisc.c:615 msgid "Receiving ICMPv6 packet" msgstr "" #: src/ndisc.c:632 #, c-format msgid " from %s\n" msgstr "" #: src/ndisc.c:658 src/traceroute.c:922 src/traceroute.c:930 msgid "Raw IPv6 socket" msgstr "" #: src/ndisc.c:689 #, c-format msgid "Soliciting %s (%s) on %s...\n" msgstr "" #: src/ndisc.c:709 msgid "Sending ICMPv6 packet" msgstr "" #: src/ndisc.c:725 msgid "Timed out." msgstr "" #: src/ndisc.c:734 msgid "No response." msgstr "" #: src/ndisc.c:756 #, c-format msgid "" "\n" " -1, --single display first response and exit\n" " -h, --help display this help and exit\n" " -m, --multiple wait and display all responses\n" " -n, --numeric don't resolve host names\n" " -q, --quiet only print the %s (mainly for scripts)\n" " -r, --retry maximum number of attempts (default: 3)\n" " -V, --version display program version and exit\n" " -v, --verbose verbose display (this is the default)\n" " -w, --wait how long to wait for a response [ms] (default: 1000)\n" "\n" msgstr "" "\n" " -1, --single display first response and exit\n" " -h, --help display this help and exit\n" " -m, --multiple wait and display all responses\n" " -n, --numeric don’t resolve host names\n" " -q, --quiet only print the %s (mainly for scripts)\n" " -r, --retry maximum number of attempts (default: 3)\n" " -V, --version display program version and exit\n" " -v, --verbose verbose display (this is the default)\n" " -w, --wait how long to wait for a response [ms] (default: 1000)\n" "\n" #: src/ndisc.c:776 #, c-format msgid "ndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s)\n" msgstr "" #: src/tcpspray.c:74 src/tcpspray.c:95 #, c-format msgid "%s port %s: %s\n" msgstr "" #: src/tcpspray.c:118 #, c-format msgid "%s %lu %s in %f %s" msgstr "" #: src/tcpspray.c:122 #, c-format msgid " (%0.3f kbytes/s)" msgstr "" #: src/tcpspray.c:153 #, c-format msgid "Warning: \"%s\" is too small (%zu %s) to fill block of %zu %s.\n" msgstr "Warning: “%s” is too small (%zu %s) to fill block of %zu %s.\n" #: src/tcpspray.c:163 #, c-format msgid "Sending %ju %s with blocksize %zu %s\n" msgstr "" #: src/tcpspray.c:180 src/traceroute.c:498 #, c-format msgid "Receive error: %s\n" msgstr "" #: src/tcpspray.c:182 src/tcpspray.c:218 msgid "Connection closed by peer" msgstr "" #: src/tcpspray.c:216 src/traceroute.c:1113 #, c-format msgid "Cannot send data: %s\n" msgstr "" #: src/tcpspray.c:240 #, c-format msgid "Child process returned an error" msgstr "" #: src/tcpspray.c:247 msgid "Received" msgstr "" #: src/tcpspray.c:251 msgid "Transmitted" msgstr "" #: src/tcpspray.c:279 #, c-format msgid "" "Usage: %s [options] [service/port number]\n" "Use the discard TCP service at the specified host\n" "(the default host is the local system, the default service is discard)\n" msgstr "" #: src/tcpspray.c:284 msgid "" "\n" " -4 force usage of the IPv4 protocols family\n" " -6 force usage of the IPv6 protocols family\n" " -b specify the block bytes size (default: 1024)\n" " -d wait for given delay (usec) between each block (default: 0)\n" " -e perform a duplex test (TCP Echo instead of TCP Discard)\n" " -f fill sent data blocks with the specified file content\n" " -h display this help and exit\n" " -n specify the number of blocks to send (default: 100)\n" " -V display program version and exit\n" " -v enable verbose output\n" msgstr "" "\n" " -4 force usage of the IPv4 protocols family\n" " -6 force usage of the IPv6 protocols family\n" " -b specify the block bytes size (default: 1024)\n" " -d wait for given delay (µsec) between each block (default: 0)\n" " -e perform a duplex test (TCP Echo instead of TCP Discard)\n" " -f fill sent data blocks with the specified file content\n" " -h display this help and exit\n" " -n specify the number of blocks to send (default: 100)\n" " -V display program version and exit\n" " -v enable verbose output\n" #: src/tcpspray.c:305 #, c-format msgid "tcpspray6: TCP/IP bandwidth tester %s (%s)\n" msgstr "" #: src/tcptraceroute.c:51 src/traceroute.c:1216 #, c-format msgid "" "Usage: %s [options] [%s]\n" "Print IPv6 network route to a host\n" msgstr "" #: src/tcptraceroute.c:52 msgid "port number" msgstr "" #: src/tcptraceroute.c:54 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in probe packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -i force outgoing network interface\n" " -l set probes byte size\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override source TCP port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes (default)\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -V, --version display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in probe packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a “Type 0” routing header\n" " -h display this help and exit\n" " -i force outgoing network interface\n" " -l set probes byte size\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don’t perform reverse name lookup on addresses\n" " -p override source TCP port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes (default)\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -V, --version display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" #: src/traceroute.c:621 #, c-format msgid " %u.%03u ms " msgstr "" #: src/traceroute.c:662 msgid "[closed] " msgstr "" #: src/traceroute.c:666 msgid "[open] " msgstr "" #: src/traceroute.c:724 #, c-format msgid "%s%s%s%s: %s\n" msgstr "" #: src/traceroute.c:725 msgid "port " msgstr "" #: src/traceroute.c:785 #, c-format msgid "traceroute to %s (%s) " msgstr "" #: src/traceroute.c:790 #, c-format msgid "from %s, " msgstr "" #: src/traceroute.c:794 #, c-format msgid "port %u, from port %u, " msgstr "" #: src/traceroute.c:1011 #, c-format msgid "%u hop max, " msgid_plural "%u hops max, " msgstr[0] "" msgstr[1] "" #: src/traceroute.c:1062 #, c-format msgid "%zu byte packets\n" msgid_plural "%zu bytes packets\n" msgstr[0] "" msgstr[1] "" #: src/traceroute.c:1090 src/traceroute.c:1164 #, c-format msgid " %3u%% completed..." msgstr "" #: src/traceroute.c:1180 msgid " " msgstr "" #: src/traceroute.c:1217 msgid "packet length" msgstr "" #: src/traceroute.c:1219 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in TCP packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -I use ICMPv6 Echo Request packets as probes\n" " -i force outgoing network interface\n" " -l display incoming packets hop limit\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override destination port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -U send UDP probes (default)\n" " -V display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in TCP packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a “Type 0” routing header\n" " -h display this help and exit\n" " -I use ICMPv6 Echo Request packets as probes\n" " -i force outgoing network interface\n" " -l display incoming packets hop limit\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don’t perform reverse name lookup on addresses\n" " -p override destination port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -U send UDP probes (default)\n" " -V display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" #: src/traceroute.c:1253 #, c-format msgid "traceroute6: TCP & UDP IPv6 traceroute tool %s (%s)\n" msgstr "" #: src/traceroute.c:1273 #, c-format msgid "%s: invalid hop limit\n" msgstr "" #: src/traceroute.c:1287 #, c-format msgid "%s: invalid packet length\n" msgstr "" ndisc6-1.0.1/po/insert-header.sin0000644000175000001440000000124010644512264013500 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ndisc6-1.0.1/po/en@quot.header0000644000175000001440000000226310644512264013026 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # ndisc6-1.0.1/po/LINGUAS0000644000175000001440000000001411366755041011262 00000000000000cs de en fr ndisc6-1.0.1/po/Makevars0000644000175000001440000000345110560704251011731 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Rémi Denis-Courmont # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = miredo-devel_no_bulk_mail@remlab.net # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = ndisc6-1.0.1/po/remove-potcdate.sin0000644000175000001440000000066010644512265014052 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ndisc6-1.0.1/po/stamp-po0000644000175000001440000000001211530146510011702 00000000000000timestamp ndisc6-1.0.1/po/POTFILES.in0000644000175000001440000000013710713065066012014 00000000000000rdnssd/rdnssd.c src/addrinfo.c src/ndisc.c src/tcpspray.c src/tcptraceroute.c src/traceroute.c ndisc6-1.0.1/po/de.po0000644000175000001440000005255311530146510011170 00000000000000# Translation of ndisc6 to German # Copyright (C) 2005-2007 Rémi Denis-Courmont, Pierre Ynard. # This file is distributed under the same license as the ndisc6 package. # Chris Leick , 2010. # msgid "" msgstr "" "Project-Id-Version: ndisc6 0.9.8\n" "Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net\n" "POT-Creation-Date: 2011-02-20 10:14+0200\n" "PO-Revision-Date: 2010-05-01 22:36+0100\n" "Last-Translator: Chris Leick \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: rdnssd/rdnssd.c:88 rdnssd/rdnssd.c:109 #, c-format msgid "Cannot write %s: %m" msgstr "%s kann nicht geschrieben werden: %m" #: rdnssd/rdnssd.c:226 #, c-format msgid "Cannot find user \"%s\"" msgstr "Benutzer »%s« kann nicht gefunden werden" #: rdnssd/rdnssd.c:322 rdnssd/rdnssd.c:406 rdnssd/rdnssd.c:445 #, c-format msgid "Fatal error (%s): %m" msgstr "Schwerwiegender Fehler (%s): %m" #: rdnssd/rdnssd.c:349 rdnssd/rdnssd.c:353 #, c-format msgid "Cannot run \"%s\": %m" msgstr "»%s« kann nicht ausgeführt werden: %m" #: rdnssd/rdnssd.c:385 msgid "Child process hung up unexpectedly, aborting" msgstr "Kindprozess hat sich unerwartet aufgehängt, wird abgebrochen" #: rdnssd/rdnssd.c:509 src/addrinfo.c:144 src/ndisc.c:746 src/tcpspray.c:270 #: src/tcptraceroute.c:42 src/traceroute.c:1207 #, c-format msgid "Try \"%s -h\" for more information.\n" msgstr "Versuchen Sie »%s -h«, um weitere Informationen zu erhalten.\n" #: rdnssd/rdnssd.c:519 #, c-format msgid "" "Usage: %s [OPTIONS]\n" "Starts the IPv6 Recursive DNS Server discovery Daemon.\n" "\n" " -f, --foreground run in the foreground\n" " -H, --merge-hook execute this hook whenever resolv.conf is updated\n" " -h, --help display this help and exit\n" " -p, --pidfile override the location of the PID file\n" " -r, --resolv-file set the path to the generated resolv.conf file\n" " -u, --user override the user to set UID to\n" " -V, --version display program version and exit\n" msgstr "" "Aufruf: %s [OPTIONEN]\n" "Startet den rekursiven IPv6-DNS-Server-Such-Daemon.\n" "\n" " -f, --foreground im Vordergrund ausführen\n" " -H, --merge-hook diesen Hook bei jeder Aktualisierung von »resolv.conf«\n" " ausführen\n" " -h, --help diese Hilfe anzeigen und beenden\n" " -p, --pidfile den Ort der PID-Datei überschreiben\n" " -r, --resolv-file den Pfad zur generierten »resolv.conf«-Datei setzen\n" " -u, --user Benutzer überschreiben, um UID zu setzen\n" " -V, --version Programmversion anzeigen und beenden\n" #: rdnssd/rdnssd.c:536 #, c-format msgid "rdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s)\n" msgstr "rdnssd: Rekursiver IPv6-DNS-Server-Such-Daemon %s (%s)\n" #: rdnssd/rdnssd.c:538 src/addrinfo.c:152 src/ndisc.c:777 src/tcpspray.c:306 #: src/traceroute.c:1254 #, c-format msgid " built %s on %s\n" msgstr " %s auf %s gebaut\n" #: rdnssd/rdnssd.c:539 src/addrinfo.c:153 src/ndisc.c:779 src/tcpspray.c:307 #: src/traceroute.c:1255 #, c-format msgid "Configured with: %s\n" msgstr "Konfiguriert mit: %s\n" #: rdnssd/rdnssd.c:540 msgid "Written by Pierre Ynard and Remi Denis-Courmont\n" msgstr "Geschrieben von Pierre Ynard und Remi Denis-Courmont\n" #: rdnssd/rdnssd.c:542 #, c-format msgid "Copyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont\n" msgstr "Copyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont\n" #: rdnssd/rdnssd.c:545 src/addrinfo.c:157 src/ndisc.c:783 src/tcpspray.c:311 #: src/traceroute.c:1259 msgid "" "This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" "Dies ist freie Software; die Kopierbedingungen finden Sie im Quelltext.\n" "Es gibt KEINE Gewährleistung, noch nicht einmal für die MARKTGÄNGIGKEIT\n" "oder die EIGNUNG FÜR EINEN SPEZIELLEN ZWECK.\n" #: rdnssd/rdnssd.c:658 #, c-format msgid "Cannot create %s (%m) - already running?" msgstr "%s kann nicht erstellt werden (%m) - wird es bereits ausgeführt?" #: src/addrinfo.c:116 msgid "Input error" msgstr "Eingabefehler" #: src/addrinfo.c:127 #, c-format msgid "" "Usage: %s [-4|-6] [hostnames]\n" "Converts names to addresses.\n" "\n" " -4, --ipv4 only lookup IPv4 addresses\n" " -6, --ipv6 only lookup IPv6 addresses\n" " -c, --config only return addresses for locally configured protocols\n" " -h, --help display this help and exit\n" " -m, --multiple print multiple results separated by spaces\n" " -n, --numeric do not perform forward hostname lookup\n" " -r, --reverse perform reverse address to hostname lookup\n" " -V, --version display program version and exit\n" msgstr "" "Aufruf: %s [-4|-6] [Rechnernamen]\n" "Wandelt Namen in Adressen um.\n" "\n" " -4, --ipv4 nur IPv4-Adressen durchsuchen\n" " -6, --ipv6 nur IPv6-Adressen durchsuchen\n" " -c, --config nur Adressen lokal konfigurierter Protokolle zurückgeben\n" " -h, --help diese Hilfe anzeigen und beenden\n" " -m, --multiple mehrere Ergebnisse durch Komma getrennt ausgeben\n" " -n, --numeric keine Vorwärtssuche von Rechnernamen durchführen\n" " -r, --reverse Rückwärtssuche von Adressen zu Rechnernamen durchführen\n" " -V, --version Programmversion anzeigen und beenden\n" #: src/addrinfo.c:151 #, c-format msgid "addrinfo %s (%s)\n" msgstr "addrinfo %s (%s)\n" #: src/addrinfo.c:154 src/ndisc.c:780 src/tcpspray.c:308 src/traceroute.c:1256 msgid "Written by Remi Denis-Courmont\n" msgstr "Geschrieben von Remi Denis-Courmont\n" #: src/addrinfo.c:156 src/ndisc.c:782 src/tcpspray.c:310 src/traceroute.c:1258 #, c-format msgid "Copyright (C) %u-%u Remi Denis-Courmont\n" msgstr "Copyright (C) %u-%u Remi Denis-Courmont\n" #: src/ndisc.c:91 src/traceroute.c:947 #, c-format msgid "%s: %s\n" msgstr "%s: %s\n" #: src/ndisc.c:177 #, c-format msgid "" "Usage: %s [options] \n" "Looks up an on-link IPv6 node link-layer address (Neighbor Discovery)\n" msgstr "" "Aufruf: %s [Optionen] \n" "Durchsucht die Verknüpfungsebenen-Adresse eines angebundenen IPv6-Knotens\n" "(Nachbarschaftserkundung)\n" #: src/ndisc.c:179 msgid "link-layer address" msgstr "Verknüpfungsebenen-Adresse" #: src/ndisc.c:258 msgid "Target link-layer address: " msgstr "Ziel-Verknüpfungsebenen-Adresse:" #: src/ndisc.c:271 #, c-format msgid "" "Usage: %s [options] [IPv6 address] \n" "Solicits on-link IPv6 routers (Router Discovery)\n" msgstr "" "Aufruf: %s [Optionen] [IPv6-Adresse] \n" "Bietet angebundene IPv6-Router an (Router-Erkundung)\n" #: src/ndisc.c:273 msgid "advertised prefixes" msgstr "angekündigte Präfixe" #: src/ndisc.c:298 msgid " infinite (0xffffffff)\n" msgstr " endlos (0xffffffff)\n" #: src/ndisc.c:300 src/ndisc.c:441 src/ndisc.c:448 src/ndisc.c:457 #, c-format msgid "%12u (0x%08x) %s\n" msgstr "%12u (0x%08x) %s\n" #: src/ndisc.c:301 src/ndisc.c:442 src/tcpspray.c:120 msgid "second" msgid_plural "seconds" msgstr[0] "Sekunde" msgstr[1] "Sekunden" #: src/ndisc.c:319 msgid " Prefix : " msgstr " Präfix : " #: src/ndisc.c:324 msgid " Valid time : " msgstr " Gültigkeitszeit : " #: src/ndisc.c:326 msgid " Pref. time : " msgstr " Wunschzeit : " #: src/ndisc.c:338 msgid " MTU : " msgstr " MTU : " #: src/ndisc.c:340 src/tcpspray.c:119 src/tcpspray.c:155 src/tcpspray.c:156 #: src/tcpspray.c:164 src/tcpspray.c:165 msgid "byte" msgid_plural "bytes" msgstr[0] "Byte" msgstr[1] "Byte" #: src/ndisc.c:341 msgid "valid" msgstr "gültig" #: src/ndisc.c:341 msgid "invalid" msgstr "ungültig" #: src/ndisc.c:349 msgid "medium" msgstr "mittel" #: src/ndisc.c:349 msgid "high" msgstr "hoch" #: src/ndisc.c:349 msgid "medium (invalid)" msgstr "mittel (ungültig)" #: src/ndisc.c:349 msgid "low" msgstr "niedrig" #: src/ndisc.c:367 #, c-format msgid " Route : %s/%\n" msgstr " Route : %s/%\n" #: src/ndisc.c:368 #, c-format msgid " Route preference : %6s\n" msgstr " Routen-Einstellung : %6s\n" #: src/ndisc.c:369 msgid " Route lifetime : " msgstr " Routen-Lebensdauer : " #: src/ndisc.c:391 #, c-format msgid " Recursive DNS server : %s\n" msgstr " Rekursiver DNS-Server : %s\n" #: src/ndisc.c:394 msgid " DNS server lifetime : " msgid_plural " DNS servers lifetime : " msgstr[0] " DNS-Server-Lebensdauer : " msgstr[1] " DNS-Server-Lebensdauer : " #: src/ndisc.c:423 msgid "Hop limit : " msgstr "Sprungbegrenzung : " #: src/ndisc.c:426 #, c-format msgid " %3u" msgstr " %3u" #: src/ndisc.c:428 msgid "undefined" msgstr "undefiniert" #: src/ndisc.c:429 #, c-format msgid " ( 0x%02x)\n" msgstr " ( 0x%02x)\n" #: src/ndisc.c:432 #, c-format msgid "Stateful address conf. : %3s\n" msgstr "Zustandsorientierte Adresskonf. : %3s\n" #: src/ndisc.c:433 src/ndisc.c:435 msgid "Yes" msgstr "Ja" #: src/ndisc.c:433 src/ndisc.c:435 msgid "No" msgstr "Nein" #: src/ndisc.c:434 #, c-format msgid "Stateful other conf. : %3s\n" msgstr "Andere zustandsorientierte Konf. : %3s\n" #: src/ndisc.c:436 #, c-format msgid "Router preference : %6s\n" msgstr "Router-Einstellung : %6s\n" #: src/ndisc.c:439 msgid "Router lifetime : " msgstr "Router-Lebensdauer : " #: src/ndisc.c:445 msgid "Reachable time : " msgstr "Erreichbarkeitszeit : " #: src/ndisc.c:449 src/ndisc.c:458 msgid "millisecond" msgid_plural "milliseconds" msgstr[0] "Millisekunde" msgstr[1] "Millisekunden" #: src/ndisc.c:451 src/ndisc.c:460 msgid " unspecified (0x00000000)\n" msgstr " nicht spezifiziert (0x00000000)\n" #: src/ndisc.c:454 msgid "Retransmit time : " msgstr "Rückübertragungszeit : " #: src/ndisc.c:483 msgid " Source link-layer address: " msgstr " Quell-Verknüpfungsebenen-Adresse: " #: src/ndisc.c:615 msgid "Receiving ICMPv6 packet" msgstr "ICMPv6-Paket wird empfangen" #: src/ndisc.c:632 #, c-format msgid " from %s\n" msgstr " von %s\n" #: src/ndisc.c:658 src/traceroute.c:922 src/traceroute.c:930 msgid "Raw IPv6 socket" msgstr "Original-IPv6-Socket" #: src/ndisc.c:689 #, c-format msgid "Soliciting %s (%s) on %s...\n" msgstr "%s wird angeboten (%s) auf %s ... \n" #: src/ndisc.c:709 msgid "Sending ICMPv6 packet" msgstr "ICMPv6-Paket wird gesandt" #: src/ndisc.c:725 msgid "Timed out." msgstr "Zeitüberschreitung" #: src/ndisc.c:734 msgid "No response." msgstr "Keine Antwort" #: src/ndisc.c:756 #, c-format msgid "" "\n" " -1, --single display first response and exit\n" " -h, --help display this help and exit\n" " -m, --multiple wait and display all responses\n" " -n, --numeric don't resolve host names\n" " -q, --quiet only print the %s (mainly for scripts)\n" " -r, --retry maximum number of attempts (default: 3)\n" " -V, --version display program version and exit\n" " -v, --verbose verbose display (this is the default)\n" " -w, --wait how long to wait for a response [ms] (default: 1000)\n" "\n" msgstr "" "\n" " -1, --single erste Antwort anzeigen und beenden\n" " -h, --help diese Hilfe anzeigen und beenden\n" " -m, --multiple warten und alle Antworten anzeigen\n" " -n, --numeric Rechnernamen nicht auflösen\n" " -q, --quiet nur %s ausgeben (hauptsächlich für Skripte)\n" " -r, --retry maximale Anzahl der Versuche (Standard: 3)\n" " -V, --version Programmversion anzeigen und beenden\n" " -v, --verbose detaillierte Anzeige (dies ist Standard)\n" " -w, --wait wie lange auf eine Antwort gewartet wird [ms]\n" " (Standard: 1000)\n" "\n" #: src/ndisc.c:776 #, c-format msgid "ndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s)\n" msgstr "" "ndisc6: IPv6-Nachbarschafts-/Router-Erkundungs-Anwenderwerkzeug %s (%s)\n" #: src/tcpspray.c:74 src/tcpspray.c:95 #, c-format msgid "%s port %s: %s\n" msgstr "%s Port %s: %s\n" #: src/tcpspray.c:118 #, c-format msgid "%s %lu %s in %f %s" msgstr "%s %lu %s in %f %s" #: src/tcpspray.c:122 #, c-format msgid " (%0.3f kbytes/s)" msgstr " (%0.3f KByte/s)" #: src/tcpspray.c:153 #, c-format msgid "Warning: \"%s\" is too small (%zu %s) to fill block of %zu %s.\n" msgstr "" "Warnung: »%s« ist zu klein (%zu %s), um einen Block von %zu %s zu füllen.\n" #: src/tcpspray.c:163 #, c-format msgid "Sending %ju %s with blocksize %zu %s\n" msgstr "%ju %s mit Blockgröße %zu %s wird gesandt\n" #: src/tcpspray.c:180 src/traceroute.c:498 #, c-format msgid "Receive error: %s\n" msgstr "Erhaltener Fehler: %s\n" #: src/tcpspray.c:182 src/tcpspray.c:218 msgid "Connection closed by peer" msgstr "Verbindung durch gleichberechtigten Teilnehmer geschlossen" #: src/tcpspray.c:216 src/traceroute.c:1113 #, c-format msgid "Cannot send data: %s\n" msgstr "Daten können nicht gesandt werden: %s\n" #: src/tcpspray.c:240 #, c-format msgid "Child process returned an error" msgstr "Kindprozess gab einen Fehler zurück" #: src/tcpspray.c:247 msgid "Received" msgstr "Empfangen" #: src/tcpspray.c:251 msgid "Transmitted" msgstr "Übertragen" #: src/tcpspray.c:279 #, c-format msgid "" "Usage: %s [options] [service/port number]\n" "Use the discard TCP service at the specified host\n" "(the default host is the local system, the default service is discard)\n" msgstr "" "Aufruf: %s [Optionen] [Dienst/Port-Nummer]\n" "Den Dienst zum Verwerfen von TCP auf dem angegebenen Rechner benutzen.\n" "(Der Standard-Rechner ist das lokale System, der Standarddienst ist\n" "»verwerfen«.)\n" #: src/tcpspray.c:284 msgid "" "\n" " -4 force usage of the IPv4 protocols family\n" " -6 force usage of the IPv6 protocols family\n" " -b specify the block bytes size (default: 1024)\n" " -d wait for given delay (usec) between each block (default: 0)\n" " -e perform a duplex test (TCP Echo instead of TCP Discard)\n" " -f fill sent data blocks with the specified file content\n" " -h display this help and exit\n" " -n specify the number of blocks to send (default: 100)\n" " -V display program version and exit\n" " -v enable verbose output\n" msgstr "" "\n" " -4 den Gebrauch der IPv4-Protokollfamilie erzwingen\n" " -6 den Gebrauch der IPv6-Protokollfamilie erzwingen\n" " -b Blockgröße in Byte angeben (Standard: 1024)\n" " -d zwischen jedem Block die angegebene Dauer (µs) warten (Standard: 0)\n" " -e einen Duplex-Test durchführen (TCP-Echo anstatt TCP-Verwerfen)\n" " -f gesandte Datenblöcke mit dem angegebenen Dateiinhalt füllen\n" " -h diese Hilfe anzeigen und beenden\n" " -n die Anzahl der zu sendenden Blöcke angeben (Standard: 100)\n" " -V Programmversion anzeigen und beenden\n" " -v detaillierte Ausgabe einschalten\n" #: src/tcpspray.c:305 #, c-format msgid "tcpspray6: TCP/IP bandwidth tester %s (%s)\n" msgstr "tcpspray6: TCP/IP-Bandbreitentester %s (%s)\n" #: src/tcptraceroute.c:51 src/traceroute.c:1216 #, c-format msgid "" "Usage: %s [options] [%s]\n" "Print IPv6 network route to a host\n" msgstr "" "Aufruf: %s [Optionen] [%s]\n" "IPv6-Netzwerk-Route zu einem Rechner anzeigen\n" #: src/tcptraceroute.c:52 msgid "port number" msgstr "Portnummer" #: src/tcptraceroute.c:54 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in probe packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -i force outgoing network interface\n" " -l set probes byte size\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override source TCP port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes (default)\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -V, --version display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" "\n" " -A TCP-ACK-Tests senden\n" " -d Socket-Fehlersuche einschalten\n" " -E explizite TCP-Stau-Benachrichtigungs-Bits in Test-Paketen setzen\n" " -f die anfängliche Sprungbegrenzung angeben (Standard: 1)\n" " -g einen Routen-Abschnitt in »Typ 0«-Routing-Kopfzeilen einfügen\n" " -h diese Hilfe anzeigen und beenden\n" " -i ausgehende Netzwerkschnittstelle erzwingen\n" " -l Test-Größe in Byte setzen\n" " -m die maximale Sprungbegrenzung setzen (Standard: 30)\n" " -N Rückwärts-Namensauflösung auf Adressen jedes Sprungs durchführen\n" " -n keine Rückwärts-Namensauflösung auf Adressen durchführen\n" " -p Quell-TCP-Port überschreiben\n" " -q die Anzahl der Tests pro Sprung überschreiben (Standard: 3)\n" " -r Pakete nicht routen\n" " -S TCP-SYN-Tests senden (Standard)\n" " -s die Quell-IPv6-Adresse von Testpaketen angeben\n" " -t Verkehrsklasse von Testpaketen setzen\n" " -V, --version Programmversion anzeigen und beenden\n" " -w Zeitüberschreitung für Antworten in Sekunden überschreiben\n" " (Standard: 5)\n" " -z Wartezeit (in ms) zwischen jedem Test angeben (Standard: 0)\n" #: src/traceroute.c:621 #, c-format msgid " %u.%03u ms " msgstr " %u.%03u ms " #: src/traceroute.c:662 msgid "[closed] " msgstr "[geschlossen]" #: src/traceroute.c:666 msgid "[open] " msgstr "[offen]" #: src/traceroute.c:724 #, c-format msgid "%s%s%s%s: %s\n" msgstr "%s%s%s%s: %s\n" #: src/traceroute.c:725 msgid "port " msgstr "Port" #: src/traceroute.c:785 #, c-format msgid "traceroute to %s (%s) " msgstr "»traceroute« zu %s (%s) " #: src/traceroute.c:790 #, c-format msgid "from %s, " msgstr "von %s, " #: src/traceroute.c:794 #, c-format msgid "port %u, from port %u, " msgstr "Port %u, von Port %u, " #: src/traceroute.c:1011 #, c-format msgid "%u hop max, " msgid_plural "%u hops max, " msgstr[0] "maximal %u Sprung, " msgstr[1] "maximal %u Sprünge, " #: src/traceroute.c:1062 #, c-format msgid "%zu byte packets\n" msgid_plural "%zu bytes packets\n" msgstr[0] "%zu Byte Pakete\n" msgstr[1] "%zu Byte Pakete\n" #: src/traceroute.c:1090 src/traceroute.c:1164 #, c-format msgid " %3u%% completed..." msgstr " %3u%% vollständig ..." #: src/traceroute.c:1180 msgid " " msgstr " " #: src/traceroute.c:1217 msgid "packet length" msgstr "Paket-Länge" #: src/traceroute.c:1219 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in TCP packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -I use ICMPv6 Echo Request packets as probes\n" " -i force outgoing network interface\n" " -l display incoming packets hop limit\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override destination port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -U send UDP probes (default)\n" " -V display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" "\n" " -A TCP-ACK-Tests senden\n" " -d Socket-Fehlersuche einschalten\n" " -E explizite TCP-Stau-Benachrichtigungs-Bits in Test-Paketen setzen\n" " -f die anfängliche Sprungbegrenzung angeben (Standard: 1)\n" " -g einen Routen-Abschnitt in von »Typ 0«-Routing-Kopfzeilen einfügen\n" " -h diese Hilfe anzeigen und beenden\n" " -I ICMPv6-Echo-Anfragepakete als Tests benutzen\n" " -i ausgehende Netzwerkschnittstelle erzwingen\n" " -l Test-Größe in Byte setzen\n" " -m die maximale Sprungbegrenzung setzen (Standard: 30)\n" " -N Rückwärts-Namensauflösung auf Adressen jedes Sprungs durchführen\n" " -n keine Rückwärts-Namensauflösung auf Adressen durchführen\n" " -p Quell-TCP-Port überschreiben\n" " -q die Anzahl der Tests pro Sprung überschreiben (Standard: 3)\n" " -r Pakete nicht routen\n" " -S TCP-SYN-Tests senden (Standard)\n" " -s die Quell-IPv6-Adresse von Testpaketen angeben\n" " -t Verkehrsklasse von Testpaketen setzen\n" " -U UDP-Tests senden (Standard)\n" " -V, --version Programmversion anzeigen und beenden\n" " -w Zeitüberschreitung für Antworten in Sekunden überschreiben\n" " (Standard: 5)\n" " -z Wartezeit (in ms) zwischen jedem Test angeben (Standard: 0)\n" #: src/traceroute.c:1253 #, c-format msgid "traceroute6: TCP & UDP IPv6 traceroute tool %s (%s)\n" msgstr "traceroute6: TCP- & UDP-IPv6-Traceroute-Werkzeug %s (%s)\n" #: src/traceroute.c:1273 #, c-format msgid "%s: invalid hop limit\n" msgstr "%s: Ungültige Sprungbegrenzung\n" #: src/traceroute.c:1287 #, c-format msgid "%s: invalid packet length\n" msgstr "%s: Ungültige Paketlänge\n" ndisc6-1.0.1/po/cs.po0000644000175000001440000005256411530146510011207 00000000000000# Czech translation of ndisc6. # Copyright (C) 2008 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. # Petr Pisar , 2008. # msgid "" msgstr "" "Project-Id-Version: ndisc6 0.9.9\n" "Report-Msgid-Bugs-To: miredo-devel_no_bulk_mail@remlab.net\n" "POT-Creation-Date: 2011-02-20 10:14+0200\n" "PO-Revision-Date: 2010-05-02 19:30+0200\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: rdnssd/rdnssd.c:88 rdnssd/rdnssd.c:109 #, c-format msgid "Cannot write %s: %m" msgstr "%s nelze zapsat: %m" #: rdnssd/rdnssd.c:226 #, c-format msgid "Cannot find user \"%s\"" msgstr "Nelze nalézt uživatele „%s“" #: rdnssd/rdnssd.c:322 rdnssd/rdnssd.c:406 rdnssd/rdnssd.c:445 #, c-format msgid "Fatal error (%s): %m" msgstr "Nepřekonatelná chyba (%s): %m" #: rdnssd/rdnssd.c:349 rdnssd/rdnssd.c:353 #, c-format msgid "Cannot run \"%s\": %m" msgstr "Nelze spustit „%s“: %m" #: rdnssd/rdnssd.c:385 msgid "Child process hung up unexpectedly, aborting" msgstr "Proces potomka se neočekávaně zasekl, ukončuji činnost" #: rdnssd/rdnssd.c:509 src/addrinfo.c:144 src/ndisc.c:746 src/tcpspray.c:270 #: src/tcptraceroute.c:42 src/traceroute.c:1207 #, c-format msgid "Try \"%s -h\" for more information.\n" msgstr "Podrobnosti získáte příkazem „%s -h“.\n" #: rdnssd/rdnssd.c:519 #, c-format msgid "" "Usage: %s [OPTIONS]\n" "Starts the IPv6 Recursive DNS Server discovery Daemon.\n" "\n" " -f, --foreground run in the foreground\n" " -H, --merge-hook execute this hook whenever resolv.conf is updated\n" " -h, --help display this help and exit\n" " -p, --pidfile override the location of the PID file\n" " -r, --resolv-file set the path to the generated resolv.conf file\n" " -u, --user override the user to set UID to\n" " -V, --version display program version and exit\n" msgstr "" "Použití: %s [PŘEPÍNAČE]\n" "Spustí démona hledajícího IPv6 rekurzivní DNS servery (RDNSSD).\n" "\n" " -f, --foreground běží na popředí\n" " -H, --merge-hook spustí tento háček vždy, když se aktualizuje resolv." "conf\n" " -h, --help zobrazí tuto nápovědu a skončí\n" " -p, --pidfile přebije umístění souboru s PID\n" " -r, --resolv-file nastaví cestu ke generovanému souboru resolv.conf\n" " -u, --user přebije uživatele, na jehož UID se mát přepnout\n" " -V, --version zobrazí verzi programu a skončí\n" #: rdnssd/rdnssd.c:536 #, c-format msgid "rdnssd: IPv6 Recursive DNS Server discovery Daemon %s (%s)\n" msgstr "rdnssd: Démon hledající IPv6 rekurzivní DNS servery (RDNSSD) %s (%s)\n" # FIXME: Localize %1$s date using strftime("%x") #: rdnssd/rdnssd.c:538 src/addrinfo.c:152 src/ndisc.c:777 src/tcpspray.c:306 #: src/traceroute.c:1254 #, c-format msgid " built %s on %s\n" msgstr " sestaveno %s na %s\n" #: rdnssd/rdnssd.c:539 src/addrinfo.c:153 src/ndisc.c:779 src/tcpspray.c:307 #: src/traceroute.c:1255 #, c-format msgid "Configured with: %s\n" msgstr "Konfigurováno s: %s\n" #: rdnssd/rdnssd.c:540 msgid "Written by Pierre Ynard and Remi Denis-Courmont\n" msgstr "Napsali Pierre Ynard a Rémi Denis-Courmont\n" #: rdnssd/rdnssd.c:542 #, c-format msgid "Copyright (C) %u-%u Pierre Ynard, Remi Denis-Courmont\n" msgstr "Copyright © %u–%u Pierre Ynard, Rémi Denis-Courmont\n" #: rdnssd/rdnssd.c:545 src/addrinfo.c:157 src/ndisc.c:783 src/tcpspray.c:311 #: src/traceroute.c:1259 msgid "" "This is free software; see the source for copying conditions.\n" "There is NO warranty; not even for MERCHANTABILITY or\n" "FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" "Toto je svobodné programové vybavení; podmínky pro rozmnožování naleznete\n" "ve zdrojových kódech. Není poskytována ŽÁDNÁ záruka, dokonce ani na\n" "OBCHODOVATELNOST nebo VHODNOST PRO URČITÝ ÚČEL.\n" #: rdnssd/rdnssd.c:658 #, c-format msgid "Cannot create %s (%m) - already running?" msgstr "Nelze vytvořit %s (%m) – tento program již běží?" #: src/addrinfo.c:116 msgid "Input error" msgstr "Chyba vstupu" #: src/addrinfo.c:127 #, c-format msgid "" "Usage: %s [-4|-6] [hostnames]\n" "Converts names to addresses.\n" "\n" " -4, --ipv4 only lookup IPv4 addresses\n" " -6, --ipv6 only lookup IPv6 addresses\n" " -c, --config only return addresses for locally configured protocols\n" " -h, --help display this help and exit\n" " -m, --multiple print multiple results separated by spaces\n" " -n, --numeric do not perform forward hostname lookup\n" " -r, --reverse perform reverse address to hostname lookup\n" " -V, --version display program version and exit\n" msgstr "" "Použití: %s [-4|-6] [JMÉNA_STROJŮ]\n" "Převádí jména na adresy.\n" "\n" " -4, --ipv4 hledá pouze IPv4 adresy\n" " -6, --ipv6 hledá pouze IPv6 adresy\n" " -c, --config vrátí pouze adresy vhodné pro místně nastavené protokoly\n" " -h, --help zobrazí tuto nápovědu a skončí\n" " -m, --multiple vypíše násobné výsledky oddělené mezerami\n" " -n, --numeric neprovádí dopředné hledání jmen\n" " -r, --reverse zpětně dohledá k adrese jméno stroje\n" " -V, --version zobrazí verzi programu a skončí\n" #: src/addrinfo.c:151 #, c-format msgid "addrinfo %s (%s)\n" msgstr "addrinfo %s (%s)\n" #: src/addrinfo.c:154 src/ndisc.c:780 src/tcpspray.c:308 src/traceroute.c:1256 msgid "Written by Remi Denis-Courmont\n" msgstr "Napsal Rémi Denis-Courmont\n" #: src/addrinfo.c:156 src/ndisc.c:782 src/tcpspray.c:310 src/traceroute.c:1258 #, c-format msgid "Copyright (C) %u-%u Remi Denis-Courmont\n" msgstr "Copyright © %u–%u Rémi Denis-Courmont\n" #: src/ndisc.c:91 src/traceroute.c:947 #, c-format msgid "%s: %s\n" msgstr "%s: %s\n" #: src/ndisc.c:177 #, c-format msgid "" "Usage: %s [options] \n" "Looks up an on-link IPv6 node link-layer address (Neighbor Discovery)\n" msgstr "" "Použití: %s [PŘEPÍNAČE] \n" "Hledá adresu linkové vrstvy IPv6 uzlu na připojené lince (Neighbor " "Discovery)\n" #: src/ndisc.c:179 msgid "link-layer address" msgstr "adresa linkové vrstvy" #: src/ndisc.c:258 msgid "Target link-layer address: " msgstr "Adresa cíle na linkové vrstvě: " #: src/ndisc.c:271 #, c-format msgid "" "Usage: %s [options] [IPv6 address] \n" "Solicits on-link IPv6 routers (Router Discovery)\n" msgstr "" "Použití: %s [PŘEPÍNAČE] [IPv6_ADRESA] \n" "Dožaduje se IPv6 routerů na připojené lince (Router Discovery)\n" #: src/ndisc.c:273 msgid "advertised prefixes" msgstr "oznamovaná předpona" #: src/ndisc.c:298 msgid " infinite (0xffffffff)\n" msgstr " nekonečno (0xffffffff)\n" #: src/ndisc.c:300 src/ndisc.c:441 src/ndisc.c:448 src/ndisc.c:457 #, c-format msgid "%12u (0x%08x) %s\n" msgstr "%12u (0x%08x) %s\n" #: src/ndisc.c:301 src/ndisc.c:442 src/tcpspray.c:120 msgid "second" msgid_plural "seconds" msgstr[0] "sekunda" msgstr[1] "sekundy" msgstr[2] "sekund" #: src/ndisc.c:319 msgid " Prefix : " msgstr " Předpona : " #: src/ndisc.c:324 msgid " Valid time : " msgstr " Doba platnosti : " #: src/ndisc.c:326 msgid " Pref. time : " msgstr " Upřednostňovat po dobu : " #: src/ndisc.c:338 msgid " MTU : " msgstr " MTU :" #: src/ndisc.c:340 src/tcpspray.c:119 src/tcpspray.c:155 src/tcpspray.c:156 #: src/tcpspray.c:164 src/tcpspray.c:165 msgid "byte" msgid_plural "bytes" msgstr[0] "bajt" msgstr[1] "bajty" msgstr[2] "bajtů" #: src/ndisc.c:341 msgid "valid" msgstr "platné" #: src/ndisc.c:341 msgid "invalid" msgstr "neplatné" #: src/ndisc.c:349 msgid "medium" msgstr "střední" #: src/ndisc.c:349 msgid "high" msgstr "vysoká" #: src/ndisc.c:349 msgid "medium (invalid)" msgstr "střední (neplatná)" #: src/ndisc.c:349 msgid "low" msgstr "nízká" #: src/ndisc.c:367 #, c-format msgid " Route : %s/%\n" msgstr " Cesta : %s/%\n" #: src/ndisc.c:368 #, c-format msgid " Route preference : %6s\n" msgstr " Přednost cesty : %6s\n" #: src/ndisc.c:369 msgid " Route lifetime : " msgstr " Životnost cesty : " #: src/ndisc.c:391 #, c-format msgid " Recursive DNS server : %s\n" msgstr " Rekurzivní DNS server : %s\n" #: src/ndisc.c:394 msgid " DNS server lifetime : " msgid_plural " DNS servers lifetime : " msgstr[0] " Životnost DNS serveru : " msgstr[1] " Životnost DNS serverů : " msgstr[2] " Životnost DNS serverů : " #: src/ndisc.c:423 msgid "Hop limit : " msgstr "Hop limit : " #: src/ndisc.c:426 #, c-format msgid " %3u" msgstr " %3u" #: src/ndisc.c:428 msgid "undefined" msgstr "nedefinováno" #: src/ndisc.c:429 #, c-format msgid " ( 0x%02x)\n" msgstr " ( 0x%02x)\n" #: src/ndisc.c:432 #, c-format msgid "Stateful address conf. : %3s\n" msgstr "Stavová konfigurace adres : %3s\n" #: src/ndisc.c:433 src/ndisc.c:435 msgid "Yes" msgstr "Ano" #: src/ndisc.c:433 src/ndisc.c:435 msgid "No" msgstr "Ne" #: src/ndisc.c:434 #, c-format msgid "Stateful other conf. : %3s\n" msgstr "Stavová další konfigurace : %3s\n" #: src/ndisc.c:436 #, c-format msgid "Router preference : %6s\n" msgstr "Přednost routeru : %6s\n" #: src/ndisc.c:439 msgid "Router lifetime : " msgstr "Životnost routeru : " #: src/ndisc.c:445 msgid "Reachable time : " msgstr "Doba dosažitelnosti : " #: src/ndisc.c:449 src/ndisc.c:458 msgid "millisecond" msgid_plural "milliseconds" msgstr[0] "milisekunda" msgstr[1] "milisekundy" msgstr[2] "milisekund" #: src/ndisc.c:451 src/ndisc.c:460 msgid " unspecified (0x00000000)\n" msgstr " neurčeno (0x00000000)\n" #: src/ndisc.c:454 msgid "Retransmit time : " msgstr "Doba pro znovuvyslání : " #: src/ndisc.c:483 msgid " Source link-layer address: " msgstr " Linková adresa zdroje : " #: src/ndisc.c:615 msgid "Receiving ICMPv6 packet" msgstr "Přijímám ICMPv6 packet" #: src/ndisc.c:632 #, c-format msgid " from %s\n" msgstr " od %s\n" #: src/ndisc.c:658 src/traceroute.c:922 src/traceroute.c:930 msgid "Raw IPv6 socket" msgstr "Syrový IPv6 socket" #: src/ndisc.c:689 #, c-format msgid "Soliciting %s (%s) on %s...\n" msgstr "Dožaduji se %s (%s) na %s…\n" #: src/ndisc.c:709 msgid "Sending ICMPv6 packet" msgstr "Odesílám ICMPv6 packet" #: src/ndisc.c:725 msgid "Timed out." msgstr "Čas vypršel." #: src/ndisc.c:734 msgid "No response." msgstr "Žádná odpověď." #: src/ndisc.c:756 #, c-format msgid "" "\n" " -1, --single display first response and exit\n" " -h, --help display this help and exit\n" " -m, --multiple wait and display all responses\n" " -n, --numeric don't resolve host names\n" " -q, --quiet only print the %s (mainly for scripts)\n" " -r, --retry maximum number of attempts (default: 3)\n" " -V, --version display program version and exit\n" " -v, --verbose verbose display (this is the default)\n" " -w, --wait how long to wait for a response [ms] (default: 1000)\n" "\n" msgstr "" "\n" " -1, --single zobrazí první odpověď a skončí\n" " -h, --help zobrazí tuto nápovědu a skončí\n" " -m, --multiple počká na a zobrazí všechny odpovědi\n" " -n, --numeric nepřekládá jména strojů\n" " -q, --quiet zobrazí pouze %s (hlavně pro skripty)\n" " -r, --retry maximální počet pokusů (implicitně: 3)\n" " -V, --version zobrazí verzi programu a skončí\n" " -v, --verbose vypisuje podrobnosti (toto je implicitní chování)\n" " -w, --wait jak dlouho čekat na odpověď [ms] (implicitně: 1000)\n" "\n" #: src/ndisc.c:776 #, c-format msgid "ndisc6: IPv6 Neighbor/Router Discovery userland tool %s (%s)\n" msgstr "ndisc6: nástroj pro hledání IPv6 sousedů/routerů %s (%s)\n" #: src/tcpspray.c:74 src/tcpspray.c:95 #, c-format msgid "%s port %s: %s\n" msgstr "%s port %s: %s\n" #: src/tcpspray.c:118 #, c-format msgid "%s %lu %s in %f %s" msgstr "%s %lu %s v %f %s" #: src/tcpspray.c:122 #, c-format msgid " (%0.3f kbytes/s)" msgstr " (%0.3f kB/s)" #: src/tcpspray.c:153 #, c-format msgid "Warning: \"%s\" is too small (%zu %s) to fill block of %zu %s.\n" msgstr "Pozor: „%s“ je příliš malý (%zu %s) na vyplnění bloku délky %zu %s.\n" #: src/tcpspray.c:163 #, c-format msgid "Sending %ju %s with blocksize %zu %s\n" msgstr "Odesílá se %ju %s s velikostí bloku %zu %s\n" #: src/tcpspray.c:180 src/traceroute.c:498 #, c-format msgid "Receive error: %s\n" msgstr "Chyba na příjmu: %s\n" #: src/tcpspray.c:182 src/tcpspray.c:218 msgid "Connection closed by peer" msgstr "Spojení uzavřeno druhou stranou" #: src/tcpspray.c:216 src/traceroute.c:1113 #, c-format msgid "Cannot send data: %s\n" msgstr "Data nelze odeslat: %s\n" #: src/tcpspray.c:240 #, c-format msgid "Child process returned an error" msgstr "Proces potomka vrátit chybu" #: src/tcpspray.c:247 msgid "Received" msgstr "Přijato" #: src/tcpspray.c:251 msgid "Transmitted" msgstr "Odesláno" #: src/tcpspray.c:279 #, c-format msgid "" "Usage: %s [options] [service/port number]\n" "Use the discard TCP service at the specified host\n" "(the default host is the local system, the default service is discard)\n" msgstr "" "Použití: %s [PŘEPÍNAČE] [SLUŽBA/ČÍSLO_PORTU]\n" "Použije TCP službu discard na určeném stroji\n" "(implicitní stroj je místní systém, implicitní služba je discard)\n" #: src/tcpspray.c:284 msgid "" "\n" " -4 force usage of the IPv4 protocols family\n" " -6 force usage of the IPv6 protocols family\n" " -b specify the block bytes size (default: 1024)\n" " -d wait for given delay (usec) between each block (default: 0)\n" " -e perform a duplex test (TCP Echo instead of TCP Discard)\n" " -f fill sent data blocks with the specified file content\n" " -h display this help and exit\n" " -n specify the number of blocks to send (default: 100)\n" " -V display program version and exit\n" " -v enable verbose output\n" msgstr "" "\n" " -4 vynutí použití rodiny IPv4 protokolů\n" " -6 vynutí použití rodiny IPv6 protokolů\n" " -b určí velikost bloku v bajtech (implicitně: 1024)\n" " -d čeká zadanou dobu (µs) mezi každým blokem (implicitně: 0)\n" " -e provádí oboustranný test (TCP Echo místo TCP Discard)\n" " -f odesílané bloky dat vyplní obsahem zadaného souboru\n" " -h zobrazí tuto nápovědu a skončí\n" " -n určí počet bloků, které se mají odeslat (implicitně: 100)\n" " -V zobrazí verzi programu a skončí\n" " -v zapne upovídaný výstup\n" #: src/tcpspray.c:305 #, c-format msgid "tcpspray6: TCP/IP bandwidth tester %s (%s)\n" msgstr "tcpspray6: zkoušečka TCP/IP průtoku %s (%s)\n" #: src/tcptraceroute.c:51 src/traceroute.c:1216 #, c-format msgid "" "Usage: %s [options] [%s]\n" "Print IPv6 network route to a host\n" msgstr "" "Použití: %s [PŘEPÍNAČE] [%s]\n" "Vypíše cestu IPv6 sítí ke stroji\n" #: src/tcptraceroute.c:52 msgid "port number" msgstr "číslo portu" #: src/tcptraceroute.c:54 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in probe packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -i force outgoing network interface\n" " -l set probes byte size\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override source TCP port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes (default)\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -V, --version display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" "\n" " -A posílá TCP ACK packety\n" " -d zapne ladění socketu\n" " -E nastaví TCP bit explicitního upozornění na zahlcení (ECN) v packetech\n" " -f určí počáteční omezení počtu hopů (implicitně: 1)\n" " -g vloží směrovací segment do směrovací hlavičky „Typ 0“\n" " -h zobrazí tuto nápovědu a skončí\n" " -i vynutí odchozí síťové rozhraní\n" " -l nastaví velikost packetů v bajtech\n" " -m nastaví maximální omezení na počet hopů (implicitně: 30)\n" " -N provádí zpětný překlad adresy každého hopu\n" " -n neprovádí zpětný překlad adres\n" " -p přebije zdrojové číslo TCP portu\n" " -q přebije počet zkušebních dotazů na hop (implicitně: 3)\n" " -r nesměruje packetu\n" " -S odesílá TCP SYN packety (implicitní)\n" " -s určí zdrojovou IPv6 adresu zkušebních packetů\n" " -t nastaví třídu provozu zkušebním packetům\n" " -V, --version zobrazí verzi programu a skončí\n" " -w přebije délku čekání na odpověď v sekundách (implicitně: 5)\n" " -z určí délku čekání (v ms) mezi každou zkouškou (implicitně: 0)\n" #: src/traceroute.c:621 #, c-format msgid " %u.%03u ms " msgstr " %u,%03u ms " #: src/traceroute.c:662 msgid "[closed] " msgstr "[zavřeno]" #: src/traceroute.c:666 msgid "[open] " msgstr "[otevřeno]" #: src/traceroute.c:724 #, c-format msgid "%s%s%s%s: %s\n" msgstr "%s%s%s%s: %s\n" #: src/traceroute.c:725 msgid "port " msgstr "port " #: src/traceroute.c:785 #, c-format msgid "traceroute to %s (%s) " msgstr "traceroute k %s (%s) " #: src/traceroute.c:790 #, c-format msgid "from %s, " msgstr "z %s, " #: src/traceroute.c:794 #, c-format msgid "port %u, from port %u, " msgstr "port %u, z portu %u, " #: src/traceroute.c:1011 #, c-format msgid "%u hop max, " msgid_plural "%u hops max, " msgstr[0] "max. %u hop, " msgstr[1] "max. %u hopy, " msgstr[2] "max. %u hopů, " #: src/traceroute.c:1062 #, c-format msgid "%zu byte packets\n" msgid_plural "%zu bytes packets\n" msgstr[0] "%zuB packety\n" msgstr[1] "%zuB packety\n" msgstr[2] "%zuB packety\n" #: src/traceroute.c:1090 src/traceroute.c:1164 #, c-format msgid " %3u%% completed..." msgstr " %3u %% hotovo…" #: src/traceroute.c:1180 msgid " " msgstr " " #: src/traceroute.c:1217 msgid "packet length" msgstr "délka packetu" #: src/traceroute.c:1219 msgid "" "\n" " -A send TCP ACK probes\n" " -d enable socket debugging\n" " -E set TCP Explicit Congestion Notification bits in TCP packets\n" " -f specify the initial hop limit (default: 1)\n" " -g insert a route segment within a \"Type 0\" routing header\n" " -h display this help and exit\n" " -I use ICMPv6 Echo Request packets as probes\n" " -i force outgoing network interface\n" " -l display incoming packets hop limit\n" " -m set the maximum hop limit (default: 30)\n" " -N perform reverse name lookups on the addresses of every hop\n" " -n don't perform reverse name lookup on addresses\n" " -p override destination port\n" " -q override the number of probes per hop (default: 3)\n" " -r do not route packets\n" " -S send TCP SYN probes\n" " -s specify the source IPv6 address of probe packets\n" " -t set traffic class of probe packets\n" " -U send UDP probes (default)\n" " -V display program version and exit\n" " -w override the timeout for response in seconds (default: 5)\n" " -z specify a time to wait (in ms) between each probes (default: 0)\n" msgstr "" "\n" " -A posílá TCP ACK packety\n" " -d zapne ladění socketu\n" " -E nastaví TCP bit explicitního upozornění na zahlcení (ECN) v packetech\n" " -f určí počáteční omezení počtu hopů (implicitně: 1)\n" " -g vloží směrovací segment do směrovací hlavičky „Typ 0“\n" " -h zobrazí tuto nápovědu a skončí\n" " -I použije packety ICMPv6 Echo Request jako zkušební dotazy\n" " -i vynutí odchozí síťové rozhraní\n" " -l zobrazuje omezení na počet hopů příchozích packetů\n" " -m nastaví maximální omezení na počet hopů (implicitně: 30)\n" " -N provádí zpětný překlad adresy každého hopu\n" " -n neprovádí zpětný překlad adres\n" " -p přebije cílový port\n" " -q přebije počet pokusů na jeden hop (implicitně: 3)\n" " -r nesměruje packety\n" " -S posílá TCP SYN packety\n" " -s určí zdrojovou IPv6 adresu zkušebních packetů\n" " -t nastaví třídu provozu zkušebním packetům\n" " -U posílá UDP packety (implicitní)\n" " -V zobrazí verzi programu a skončí\n" " -w přebije délku čekání na odpověď v sekundách (implicitně: 5)\n" " -z určí délku čekání (v ms) mezi každou zkouškou (implicitně: 0)\n" #: src/traceroute.c:1253 #, c-format msgid "traceroute6: TCP & UDP IPv6 traceroute tool %s (%s)\n" msgstr "traceroute6: nástroj pro zjišťování TCP a UDP IPv6 cest %s (%s)\n" #: src/traceroute.c:1273 #, c-format msgid "%s: invalid hop limit\n" msgstr "%s: neplatné omezení počtu hopů\n" #: src/traceroute.c:1287 #, c-format msgid "%s: invalid packet length\n" msgstr "%s: neplatná délka packetu\n" ndisc6-1.0.1/admin/0000755000175000001440000000000011530146510010760 500000000000000ndisc6-1.0.1/admin/config.sub0000755000175000000000000010344511344453613012671 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile-* | tilegx-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; # This must be matched before tile*. tilegx*) basic_machine=tilegx-unknown os=-linux-gnu ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ndisc6-1.0.1/admin/install-sh0000755000175000000000000003253711324777651012726 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ndisc6-1.0.1/admin/compile0000755000175000000000000000727111324777651012275 00000000000000#! /bin/sh # Wrapper for compilers which do not understand `-c -o'. scriptversion=2009-10-06.20; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software # Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand `-c -o'. Remove `-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file `INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; esac ofile= cfile= eat= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as `compile cc -o foo foo.c'. # So we strip `-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no `-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # `.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use `[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ndisc6-1.0.1/admin/config.guess0000755000175000000000000012763711344453613013237 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ndisc6-1.0.1/admin/config.rpath0000755000175000001440000004364710753073706013242 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2007 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file 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. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix4* | aix5*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <, 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ndisc6-1.0.1/admin/depcomp0000755000175000000000000004426711324777651012302 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2009-04-28.21; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free # Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ndisc6-1.0.1/configure0000755000175000001440000077177511470554040011553 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.67 for ndisc6 1.0.1. # # Report bugs to . # # Copyright (C) 2005-2010 Remi Denis-Courmont # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: remi_no_bulk_mail@remlab.net about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ndisc6' PACKAGE_TARNAME='ndisc6' PACKAGE_VERSION='1.0.1' PACKAGE_STRING='ndisc6 1.0.1' PACKAGE_BUGREPORT='remi_no_bulk_mail@remlab.net' PACKAGE_URL='' ac_unique_file="configure.ac" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" gt_needs= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS NOSUID_FALSE NOSUID_TRUE LIBOBJS POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS host_os host_vendor host_cpu host build_os build_vendor build_cpu build XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS LIBRT AM_BACKSLASH AM_DEFAULT_VERBOSITY am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM PERL RANLIB EGREP GREP CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_dependency_tracking enable_silent_rules enable_nls with_gnu_ld enable_rpath with_libiconv_prefix with_libintl_prefix enable_assert enable_suid_install ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP PERL' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures ndisc6 1.0.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/ndisc6] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of ndisc6 1.0.1:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0') --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths --disable-assert turn off assertions --disable-suid-install do not set the SetUID bit on installed programs Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor PERL Perl interpreter Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF ndisc6 configure 1.0.1 generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Copyright (C) 2005-2010 Remi Denis-Courmont _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ------------------------------------------- ## ## Report this to remi_no_bulk_mail@remlab.net ## ## ------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by ndisc6 $as_me 1.0.1, which was generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5 ; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gt_needs="$gt_needs need-ngettext" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu INVOCATION="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" { $as_echo "$as_me:${as_lineno-$LINENO}: checking system..." >&5 $as_echo "$as_me: checking system..." >&6;} ac_aux_dir= for ac_dir in admin "$srcdir"/admin; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in admin \"$srcdir\"/admin" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers config.h" cat >>confdefs.h <<_ACEOF #define PACKAGE_CONFIGURE_INVOCATION "$INVOCATION" _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build hostname" >&5 $as_echo_n "checking for build hostname... " >&6; } if test "${rdc_cv_build_hostname+set}" = set; then : $as_echo_n "(cached) " >&6 else rdc_cv_build_hostname=`hostname -f 2>/dev/null || uname -n 2>/dev/null || hostname 2>/dev/null || echo "unknown"` fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $rdc_cv_build_hostname" >&5 $as_echo "$rdc_cv_build_hostname" >&6; } cat >>confdefs.h <<_ACEOF #define PACKAGE_BUILD_HOSTNAME "$rdc_cv_build_hostname" _ACEOF # Checks for programs. { $as_echo "$as_me:${as_lineno-$LINENO}: checking required programs..." >&5 $as_echo "$as_me: checking required programs..." >&6;} ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } if test "${ac_cv_prog_cc_c99+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include // Check varargs macros. These examples are taken from C99 6.10.3.5. #define debug(...) fprintf (stderr, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK your preprocessor is broken; #endif #if BIG_OK #else your preprocessor is broken; #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\0'; ++i) continue; return 0; } // Check varargs and va_copy. static void test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str; int number; float fnumber; while (*format) { switch (*format++) { case 's': // string str = va_arg (args_copy, const char *); break; case 'd': // int number = va_arg (args_copy, int); break; case 'f': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); } int main () { // Check bool. _Bool success = false; // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. test_varargs ("s, d' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' || dynamic_array[ni.number - 1] != 543); ; return 0; } _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c99=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c99" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c99" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 $as_echo "$ac_cv_prog_cc_c99" >&6; } ;; esac if test "x$ac_cv_prog_cc_c99" != xno; then : fi if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" if test "x$ac_cv_header_minix_config_h" = x""yes; then : MINIX=yes else MINIX= fi if test "$MINIX" = yes; then $as_echo "#define _POSIX_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h $as_echo "#define _MINIX 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h $as_echo "#define _ALL_SOURCE 1" >>confdefs.h $as_echo "#define _GNU_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PERL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PERL in [\\/]* | ?:[\\/]*) ac_cv_path_PERL="$PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PERL" && ac_cv_path_PERL=":" ;; esac fi PERL=$ac_cv_path_PERL if test -n "$PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 $as_echo "$PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x${enable_silent_rules}" = "x"; then : enable_silent_rules="yes" fi am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='ndisc6' VERSION='1.0.1' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac AM_BACKSLASH='\' # Checks for libraries. { $as_echo "$as_me:${as_lineno-$LINENO}: checking required libraries..." >&5 $as_echo "$as_me: checking required libraries..." >&6;} LIBRT="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5 $as_echo_n "checking for clock_gettime in -lrt... " >&6; } if test "${ac_cv_lib_rt_clock_gettime+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char clock_gettime (); int main () { return clock_gettime (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_rt_clock_gettime=yes else ac_cv_lib_rt_clock_gettime=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5 $as_echo "$ac_cv_lib_rt_clock_gettime" >&6; } if test "x$ac_cv_lib_rt_clock_gettime" = x""yes; then : LIBRT="-lrt" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.17 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${acl_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${acl_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if test "${acl_cv_rpath+set}" = set; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBICONV_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if eval "test \"\${$gt_func_gnugettext_libc+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if test "${am_cv_func_iconv+set}" = set; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if test "${am_cv_func_iconv_works+set}" = set; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBINTL_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval "test \"\${$gt_func_gnugettext_libintl+set}\"" = set; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" # Checks for header files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking header files..." >&5 $as_echo "$as_me: checking header files..." >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable assertions" >&5 $as_echo_n "checking whether to enable assertions... " >&6; } # Check whether --enable-assert was given. if test "${enable_assert+set}" = set; then : enableval=$enable_assert; ac_enable_assert=$enableval if test "x$enableval" = xno; then : $as_echo "#define NDEBUG 1" >>confdefs.h elif test "x$enableval" != xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-assert" >&5 $as_echo "$as_me: WARNING: invalid argument supplied to --enable-assert" >&2;} ac_enable_assert=yes fi else ac_enable_assert=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_assert" >&5 $as_echo "$ac_enable_assert" >&6; } # Checks for typedefs, structures, and compiler characteristics. # Checks for library functions. { $as_echo "$as_me:${as_lineno-$LINENO}: checking library functions..." >&5 $as_echo "$as_me: checking library functions..." >&6;} for ac_header in getopt.h do : ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" if test "x$ac_cv_header_getopt_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getopt_long" >&5 $as_echo_n "checking for library containing getopt_long... " >&6; } if test "${ac_cv_search_getopt_long+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getopt_long (); int main () { return getopt_long (); ; return 0; } _ACEOF for ac_lib in '' gnugetopt; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_getopt_long=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if test "${ac_cv_search_getopt_long+set}" = set; then : break fi done if test "${ac_cv_search_getopt_long+set}" = set; then : else ac_cv_search_getopt_long=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getopt_long" >&5 $as_echo "$ac_cv_search_getopt_long" >&6; } ac_res=$ac_cv_search_getopt_long if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" have_getopt_long=yes else have_getopt_long=no fi if test $have_getopt_long = yes; then $as_echo "#define HAVE_GETOPT_LONG 1" >>confdefs.h else false fi LIBS_save="$LIBS" LIBS="$LIBRT $LIBS" for ac_func in clock_nanosleep do : ac_fn_c_check_func "$LINENO" "clock_nanosleep" "ac_cv_func_clock_nanosleep" if test "x$ac_cv_func_clock_nanosleep" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_CLOCK_NANOSLEEP 1 _ACEOF fi done LIBS="$LIBS_save" ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync" if test "x$ac_cv_func_fdatasync" = x""yes; then : $as_echo "#define HAVE_FDATASYNC 1" >>confdefs.h else case " $LIBOBJS " in *" fdatasync.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS fdatasync.$ac_objext" ;; esac fi ac_fn_c_check_func "$LINENO" "inet6_rth_add" "ac_cv_func_inet6_rth_add" if test "x$ac_cv_func_inet6_rth_add" = x""yes; then : $as_echo "#define HAVE_INET6_RTH_ADD 1" >>confdefs.h else case " $LIBOBJS " in *" inet6_rth_add.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS inet6_rth_add.$ac_objext" ;; esac fi ac_fn_c_check_func "$LINENO" "ppoll" "ac_cv_func_ppoll" if test "x$ac_cv_func_ppoll" = x""yes; then : $as_echo "#define HAVE_PPOLL 1" >>confdefs.h else case " $LIBOBJS " in *" ppoll.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS ppoll.$ac_objext" ;; esac fi # Network stuff { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 $as_echo_n "checking for library containing socket... " >&6; } if test "${ac_cv_search_socket+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char socket (); int main () { return socket (); ; return 0; } _ACEOF for ac_lib in '' socket; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_socket=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if test "${ac_cv_search_socket+set}" = set; then : break fi done if test "${ac_cv_search_socket+set}" = set; then : else ac_cv_search_socket=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 $as_echo "$ac_cv_search_socket" >&6; } ac_res=$ac_cv_search_socket if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" rdc_cv_func_socket=yes else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lws2_32" >&5 $as_echo_n "checking for socket in -lws2_32... " >&6; } if test "${rdc_cv_func_socket_ws2_32+set}" = set; then : $as_echo_n "(cached) " >&6 else rdc_func_socket_save_LIBS=$LIBS LIBS="-lws2_32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_WINSOCK2_H # include #endif int main () { socket(0, 0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : rdc_cv_func_socket_ws2_32=yes else rdc_cv_func_socket_ws2_32=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$rdv_func_socket_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $rdc_cv_func_socket_ws2_32" >&5 $as_echo "$rdc_cv_func_socket_ws2_32" >&6; } if test "$rdc_cv_func_socket_ws2_32" = yes; then : rdc_cv_func_socket=yes; LIBS="-lws2_32 $LIBS" fi fi if test "$rdc_cv_func_socket" = yes; then : fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5 $as_echo_n "checking for library containing inet_ntop... " >&6; } if test "${ac_cv_search_inet_ntop+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inet_ntop (); int main () { return inet_ntop (); ; return 0; } _ACEOF for ac_lib in '' nsl; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_inet_ntop=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if test "${ac_cv_search_inet_ntop+set}" = set; then : break fi done if test "${ac_cv_search_inet_ntop+set}" = set; then : else ac_cv_search_inet_ntop=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5 $as_echo "$ac_cv_search_inet_ntop" >&6; } ac_res=$ac_cv_search_inet_ntop if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi # Checks for optionnal features { $as_echo "$as_me:${as_lineno-$LINENO}: checking optional features..." >&5 $as_echo "$as_me: checking optional features..." >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: checking if installed programs should be setuid" >&5 $as_echo_n "checking if installed programs should be setuid... " >&6; } # Check whether --enable-suid-install was given. if test "${enable_suid_install+set}" = set; then : enableval=$enable_suid_install; fi if test "x${enable_suid_install}" != "xno"; then : enable_suid_install=yes fi if test "${enable_suid_install}" = "no"; then NOSUID_TRUE= NOSUID_FALSE='#' else NOSUID_TRUE='#' NOSUID_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${enable_suid_install}" >&5 $as_echo "${enable_suid_install}" >&6; } # Defines for # END { $as_echo "$as_me:${as_lineno-$LINENO}: writing results..." >&5 $as_echo "$as_me: writing results..." >&6;} ac_config_files="$ac_config_files Makefile m4/Makefile po/Makefile.in doc/Makefile compat/Makefile src/Makefile rdnssd/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${NOSUID_TRUE}" && test -z "${NOSUID_FALSE}"; then as_fn_error $? "conditional \"NOSUID\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by ndisc6 $as_me 1.0.1, which was generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ ndisc6 config.status 1.0.1 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "compat/Makefile") CONFIG_FILES="$CONFIG_FILES compat/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "rdnssd/Makefile") CONFIG_FILES="$CONFIG_FILES rdnssd/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi ndisc6-1.0.1/README0000644000175000001440000000262111463353776010514 00000000000000NDisc6 : IPv6 diagnostic tools =============================== $Id: README 658 2010-10-31 20:56:30Z remi $ Copyright © 2005-2006 Rémi Denis-Courmont. This package gathers a few diagnostic tools for IPv6 networks: - ndisc6, which performs ICMPv6 Neighbor Discovery in userland, - rdisc6, which performs ICMPv6 Router Discovery in userland, - rltraceroute6, yet another IPv6 implementation of traceroute, - tcptraceroute6, a TCP/IPv6-based traceroute implementation, - tracert6, a ICMPv6 Echo Request based traceroute, - tcpspray6, a TCP/IP Discard/Echo bandwidth metter. For detailled usage instructions, you should refer to the Unix manual pages ndisc6(8), rdisc6(8), traceroute6(8) and tcpspray6(1) which should be provided with your copy of the program. For instructions on compilation and installation of the package, refer to the provided INSTALL file. This package is distributed under the terms of the General Public License (GPL) version 2 written by the Free Software Foundation, Inc. for full licensing details, please read COPYING. If you have further questions, you can contact me via email at: reim (at) remlab (dot) net All programs are known to run on Linux (with either glibc or µclibc). They should also work on any recent open-source BSD variant, and might work on Solaris or other BSD derivatives. -- Rémi Denis-Courmont http://www.remlab.net/ndisc6/ ndisc6-1.0.1/NEWS0000644000175000001440000002321111470554136010320 00000000000000RELEASE NOTES for NDisc6 version 1.0.1 ========================= $Id: NEWS 665 2010-11-16 19:15:41Z remi $ There are no known issues at the moment. Please report any problem by email at address : remi (at) remlab (dot) net Thanks for your help. You can find major changes since version 0.1.5 below. For more general informations on this program, see README. For syntax details, read the provided manual pages. ============================================================================ STABLE RELEASE 1.0.1 : # Remove the deprecated ISATAP daemon from ndisc6. ============================================================================ STABLE RELEASE 1.0.0 : Minor feature enhancements # Add --config option to addr2name and name2addr. # German localization (credits to Chris Leck). # Fix memory alignment problems on ARM and SPARC systems. ============================================================================ STABLE RELEASE 0.9.9 : Minor feature enhancements # Linux isatap daemon for router list maintenance: Hosts should use this alongside the kernel-mode isatap tunnel driver. # Czech localization (credits to Petr Pisar). ============================================================================ STABLE RELEASE 0.9.8 : Major portability fixes # Fix compilation for BSD and OS X. # Fix rdisc6 support for ISATAP interfaces. ============================================================================ STABLE RELEASE 0.9.7 : Minor bugfixes # Don't remove DNS servers from resolv.conf at RDNSSD startup and exit. # Use relative links for manual pages. ============================================================================ STABLE RELEASE 0.9.6 : Minor bugfixes # Fix compilation against Linux kernel headers version 2.6.24. # Use the socket filter on Linux as an optimization for traceroute6. ============================================================================ STABLE RELEASE 0.9.5 : Minor bugfixes # Fix RDNSSD handling of GID. # Various cosmetic fixes. ============================================================================ TEST RELEASE 0.9.4 : Major feature enhancements # RDNSS client daemon for Linux. # Fix name2addr and addr2name inversion. ============================================================================ STABLE RELEASE 0.9.3 : Minor feature enhancements # rdisc6: supports RDNSS option. # Allow usage of GPLv3 in addition to GPLv2. # Update gettext to version 1.16.2. ============================================================================ STABLE RELEASE 0.9.2 : Minor portability fixes # traceroute6: fix compilation on glibc 2.3 ============================================================================ STABLE RELEASE 0.9.1 : Minor bug fixes # traceroute6: fix progress report in case of timeouts. # traceroute6 supports UDP-Lite (with -L provisional option) # addrinfo becomes addr2name because of conflict with Sofia-SIP. # nameinfo becomes name2addr. # gettext support (English and partial French localization included). # gen-alias (build system): fix non-Debian builds ============================================================================ TEST RELEASE 0.9.0 : Major features enhancement, major bug fixes # rdisc6 supports RFC4191 (router preference and specific routes) # rdisc6 uses RFC2461 probe interval by default (4" instead of 1"). # traceroute6 parallelized in a safe manner. # traceroute6 handles Parameter Problem / Next Header errors better. # traceroute6 prints numerical IPv6 address when DNS fails. # traceroute6 includes IPv6 and extensions headers in packet size. # tcpspray: fix rare error handling deadlock. ============================================================================ STABLE RELEASE 0.7.4 : Minor feature enhancement # traceroute6 can send TCP probes of different sizes. ============================================================================ STABLE RELEASE 0.7.3 : Minor features enhancement, major bug fixes # traceroute6 won't stop at the first non-responsive hop anymore. # traceroute6 can print hop limit of received packet with option -l. # Support for resolving IDN (Internationalized Domain Names). ============================================================================ STABLE RELEASE 0.7.2 : Minor features enhancement # rdisc6, ndisc6 and traceroute6 now drop root privilege at the very beginning of execution to prevent all kind of would-be local root compromise (in case of bug in the command line parsing code). # FreeBSD build fixes. ============================================================================ STABLE RELEASE 0.7.1 : Minor portability fixes # Traffic class and routing header compatibility code for old libc (on Linux, FreeBSD and NetBSD). # Fix clock_nanosleep availability detection. ============================================================================ STABLE RELEASE 0.7.0 : Major feature enhancement # nameinfo and addrinfo DNS resolver for scripting added. # dnssort, simple sort script for DNS hostnames added. # IPv6 "Type 0" (loose source) routing support for traceroute6. # Outgoing interface selection with traceroute6 (even on non-Linux). # Minor fixes for LP64 architectures (incl. AMD64). # traceroute6 can skip IPv6 extension headers. ============================================================================ STABLE RELEASE 0.6.8 : Major bug fixes # Fix (very) incorrect duration and bandwidth result from tcpspray6. # Support for specifying IPv6 Traffic Class with traceroute6. ============================================================================ STABLE RELEASE 0.6.7 : Minor security fix # Check hop limit of incoming neighbor discovery packets (ndisc6, rdisc6). ============================================================================ STABLE RELEASE 0.6.6 : Minor portability fixes # FreeBSD compilation fix. ============================================================================= STABLE RELEASE 0.6.5 : Minor feature enhancement # Use POSIX monotonic clock instead of the real-time clock ============================================================================= STABLE RELEASE 0.6.4 : Minor bug fixes # Autoconf updates. # Fix non-ASCII characters within manual pages. # Debian packaging support. ============================================================================= STABLE RELEASE 0.6.3 : Minor bug fixes # tcptraceroute6 handles parameters with white spaces correctly. # Renamed traceroute6 to rltraceroute6 to avoid conflict with iputils. ============================================================================= STABLE RELEASE 0.6.2 : Major feature enhancement, minor security fixes # Support for ICMPv6 Echo requests traceroute6. # traceroute6 support for specifying UDP and ICMPv6 packets byte size (payload no longer has an empty payload by default). # Support for sending ECN-setup SYN packets with tcptraceroute6. # Support for selecting base UDP destination port with traceroute6. # Support for selecting source port number with tcptraceroute6. # Support for custom delay in-between each (tcp)traceroute6 probes. # Sanitize raw socket file descriptors number before use. # Fix symlink installation wrt DESTDIR (such as when packaging via RPM). ============================================================================= STABLE RELEASE 0.6.0 : Major feature enhancement, portability fixes # Switch to the bloated autotools. # rdisc6 and traceroute6 compile fixes for Solaris. # ndisc6 fixes for BSD and Solaris. # tcpspray6 Discard/Echo bandwidth metter added. ============================================================================= TEST RELEASE 0.5.3 : Minor bug fixes # Port (tcp)traceroute6 to BSD. # Fix UDP traceroute6 regression from version 0.5.2. # Handle ICMPv6 Parameter problem errors. ============================================================================= TEST RELEASE 0.5.2 : Minor bug fixes # Fix minor input buffer boundary check error. # Fix detection of invalid hop limits on the command line. ============================================================================= TEST RELEASE 0.5.1 : Minor feature enhancement # Add traditional UDP traceroute to traceroute6 (formerly tcptraceroute6). # tcptraceroute6 is now an alias for “traceroute6 -S”. # Source address specification option for (tcp)traceroute6. # TCP/ACK probes option for (tcp)traceroute6. # Use a rather high source TCP port, dependant on PID. ============================================================================= TEST RELEASE 0.5.0 : Major feature enhancement # tcptraceroute6 was added to the package. ============================================================================= STABLE RELEASE 0.4.1 : Minor bugfixes # rdisc6 can be compiled on FreeBSD. ============================================================================= STABLE RELEASE 0.4.0 : Minor features enhancement, major security fix # Print Source Link-Layer address in Router Advertisement if present. # Check Prefix information option length properly in Router Adverts. # Some spelling fixes. ============================================================================= BETA RELEASE 0.3.0 : Major features enhancement (release cancelled) # New --numeric option prevents DNS lookups. # Removed some useless system calls. # rdisc6 prints advertised link MTU. # Milliseconds and infinite lifetimes reported properly as such. # Don't print error messages multiple times. # New --single option only prints the first advertisement with rdisc6. # New --multiple option prints duplicate advertisements with ndisc6. ============================================================================= BETA RELEASE 0.1.5 : Minor features enhancement # Set appropriate ICMPv6 type filter (reduce CPU usage). ============================================================================= ndisc6-1.0.1/INSTALL0000644000175000000000000003633211324777651010660 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. ndisc6-1.0.1/ChangeLog0000644000175000001440000044543711470554053011413 00000000000000------------------------------------------------------------------------ r661 | remi | 2010-10-31 22:59:03 +0200 (Sun, 31 Oct 2010) | 2 lines Changed paths: M /trunk/po/cs.po M /trunk/po/de.po M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Update PO files ------------------------------------------------------------------------ r660 | remi | 2010-10-31 22:58:51 +0200 (Sun, 31 Oct 2010) | 2 lines Changed paths: M /trunk/NEWS New version ------------------------------------------------------------------------ r659 | remi | 2010-10-31 22:57:48 +0200 (Sun, 31 Oct 2010) | 2 lines Changed paths: M /trunk/NEWS News ------------------------------------------------------------------------ r658 | remi | 2010-10-31 22:56:30 +0200 (Sun, 31 Oct 2010) | 2 lines Changed paths: M /trunk/NEWS M /trunk/README M /trunk/configure.ac M /trunk/doc/addr2name.1 M /trunk/doc/dnssort.1 M /trunk/doc/ndisc6.8 M /trunk/doc/rdisc6.8 M /trunk/doc/rltraceroute6.8 M /trunk/doc/tcpspray.1 M /trunk/m4/sockaddr.m4 Update my mail address ------------------------------------------------------------------------ r657 | remi | 2010-10-31 22:51:32 +0200 (Sun, 31 Oct 2010) | 2 lines Changed paths: M /trunk/src/ndisc.c rdisc: fix alignments problems on ARM and SPARC ------------------------------------------------------------------------ r656 | remi | 2010-05-05 22:31:09 +0300 (Wed, 05 May 2010) | 2 lines Changed paths: M /trunk/po/de.po german update ------------------------------------------------------------------------ r655 | remi | 2010-05-05 22:27:36 +0300 (Wed, 05 May 2010) | 2 lines Changed paths: M /trunk/po/cs.po Czech update ------------------------------------------------------------------------ r654 | remi | 2010-05-01 11:12:56 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/po/en.po Update American translation again ------------------------------------------------------------------------ r653 | remi | 2010-05-01 11:12:10 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/po/fr.po Update French translation (for good this time) ------------------------------------------------------------------------ r652 | remi | 2010-05-01 11:11:57 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/po/ndisc6.pot Sync PO master (again...) ------------------------------------------------------------------------ r651 | remi | 2010-05-01 11:08:53 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/src/traceroute.c Fix plural handling ------------------------------------------------------------------------ r650 | remi | 2010-05-01 11:08:34 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/src/tcpspray.c Use C99 format modifiers instead of casts ------------------------------------------------------------------------ r649 | remi | 2010-05-01 10:52:43 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/po/en.po Udpate American English locale ------------------------------------------------------------------------ r648 | remi | 2010-05-01 10:50:58 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/po/cs.po M /trunk/po/de.po M /trunk/po/en.po M /trunk/po/ndisc6.pot Sync PO again... ------------------------------------------------------------------------ r647 | remi | 2010-05-01 10:50:45 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/po/fr.po Update French locale ------------------------------------------------------------------------ r646 | remi | 2010-05-01 10:49:06 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/src/addrinfo.c Typo ------------------------------------------------------------------------ r645 | remi | 2010-05-01 10:45:34 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/po/cs.po M /trunk/po/de.po M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Resync PO files ------------------------------------------------------------------------ r644 | remi | 2010-05-01 10:40:37 +0300 (Sat, 01 May 2010) | 2 lines Changed paths: M /trunk/NEWS News ------------------------------------------------------------------------ r643 | remi | 2010-05-01 10:38:31 +0300 (Sat, 01 May 2010) | 4 lines Changed paths: M /trunk/po/LINGUAS A /trunk/po/de.po Initial german translation Credits to Chris Leick, via Debian BTS ------------------------------------------------------------------------ r642 | remi | 2010-04-08 19:05:18 +0300 (Thu, 08 Apr 2010) | 4 lines Changed paths: M /trunk/po/cs.po Czech translation fix Credits to Petr Pisar ------------------------------------------------------------------------ r641 | remi | 2010-01-24 10:35:43 +0200 (Sun, 24 Jan 2010) | 2 lines Changed paths: M /trunk/src/Makefile.am Silent rules for src/ ------------------------------------------------------------------------ r640 | remi | 2010-01-24 10:32:21 +0200 (Sun, 24 Jan 2010) | 2 lines Changed paths: M /trunk/doc/Makefile.am M /trunk/rdnssd/Makefile.am silent rules for sed ------------------------------------------------------------------------ r639 | remi | 2010-01-24 10:27:53 +0200 (Sun, 24 Jan 2010) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/configure.ac Enable silent rules and automake -Wall ------------------------------------------------------------------------ r638 | remi | 2010-01-24 10:25:00 +0200 (Sun, 24 Jan 2010) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/configure.ac Move automake options to Makefile.am ------------------------------------------------------------------------ r637 | remi | 2010-01-24 10:20:39 +0200 (Sun, 24 Jan 2010) | 2 lines Changed paths: M /trunk/NEWS M /trunk/configure.ac Bump version ------------------------------------------------------------------------ r636 | remi | 2010-01-24 10:18:41 +0200 (Sun, 24 Jan 2010) | 2 lines Changed paths: M /trunk/doc/addr2name.1 Document --config ------------------------------------------------------------------------ r635 | remi | 2010-01-24 10:16:52 +0200 (Sun, 24 Jan 2010) | 2 lines Changed paths: M /trunk/src/addrinfo.c Add --config option to addr2name ------------------------------------------------------------------------ r634 | linkfanel | 2009-11-25 23:31:20 +0200 (Wed, 25 Nov 2009) | 3 lines Changed paths: M /trunk/rdnssd/Makefile.am M /trunk/rdnssd/merge-hook.in Replace the Perl merge hook by one written in POSIX shell, free of utilities stored in /usr ------------------------------------------------------------------------ r632 | remi | 2009-08-04 21:42:37 +0300 (Tue, 04 Aug 2009) | 2 lines Changed paths: M /trunk/NEWS News for 0.9.9 ------------------------------------------------------------------------ r631 | remi | 2009-08-04 21:39:39 +0300 (Tue, 04 Aug 2009) | 2 lines Changed paths: M /trunk/po/cs.po M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Sync PO files ------------------------------------------------------------------------ r630 | remi | 2009-08-04 21:38:40 +0300 (Tue, 04 Aug 2009) | 2 lines Changed paths: M /trunk/AUTHORS Update authors (we have no thanks file) ------------------------------------------------------------------------ r629 | remi | 2009-08-04 21:37:49 +0300 (Tue, 04 Aug 2009) | 2 lines Changed paths: M /trunk/AUTHORS Update my email address ------------------------------------------------------------------------ r628 | remi | 2009-08-04 21:37:13 +0300 (Tue, 04 Aug 2009) | 2 lines Changed paths: M /trunk/doc/Makefile.am M /trunk/src/Makefile.am Distribute missing isatapd files ------------------------------------------------------------------------ r627 | remi | 2009-08-04 21:34:27 +0300 (Tue, 04 Aug 2009) | 4 lines Changed paths: M /trunk/doc/Makefile.am A /trunk/doc/isatapd.8 M /trunk/src/Makefile.am A /trunk/src/isatapd.c A /trunk/src/isatapd.h isatapd for Linux Patch by Yin Kwong-Sang and Fred Templin, the Boeing Company ------------------------------------------------------------------------ r626 | remi | 2008-12-19 18:40:04 +0200 (Fri, 19 Dec 2008) | 2 lines Changed paths: M /trunk/NEWS M /trunk/po/LINGUAS A /trunk/po/cs.po Czech translation by Petr Pisar ------------------------------------------------------------------------ r625 | remi | 2008-07-11 20:10:23 +0300 (Fri, 11 Jul 2008) | 4 lines Changed paths: M /trunk/src/ndisc.c Use PRIu8 as appropriate Surprisingly enough, gettext does handle this correctly (since 2002!) ------------------------------------------------------------------------ r624 | remi | 2008-05-01 17:26:09 +0300 (Thu, 01 May 2008) | 2 lines Changed paths: M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/trace-icmp.c M /trunk/src/trace-tcp.c M /trunk/src/trace-udp.c M /trunk/src/traceroute.c Fix stdint.h includes ------------------------------------------------------------------------ r623 | remi | 2008-05-01 17:08:21 +0300 (Thu, 01 May 2008) | 2 lines Changed paths: M /trunk/configure.ac Bump version ------------------------------------------------------------------------ r621 | remi | 2008-05-01 15:50:28 +0300 (Thu, 01 May 2008) | 2 lines Changed paths: M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Update PO files ------------------------------------------------------------------------ r620 | remi | 2008-04-24 23:33:56 +0300 (Thu, 24 Apr 2008) | 3 lines Changed paths: M /trunk/NEWS M /trunk/src/ndisc.c rdisc6: set unicast hop limit to 255 as well for ISATAP support Issue pointed out by Fred L. Templin. ------------------------------------------------------------------------ r619 | remi | 2008-04-24 20:15:22 +0300 (Thu, 24 Apr 2008) | 3 lines Changed paths: M /trunk/src/trace-icmp.c Don't set checksum coverage on ICMPv6 socket. This violates RFC3542, and is not needed anyway. ------------------------------------------------------------------------ r618 | remi | 2008-04-24 20:13:07 +0300 (Thu, 24 Apr 2008) | 3 lines Changed paths: M /trunk/rdnssd/icmp.c Don't set checksum coverage on ICMPv6 socket. This violates RFC3542, and is not needed anyway. ------------------------------------------------------------------------ r617 | remi | 2008-04-24 20:12:58 +0300 (Thu, 24 Apr 2008) | 3 lines Changed paths: M /trunk/ezirad/ezirad.c Don't set checksum coverage on ICMPv6 socket. This violates RFC3542, and is not needed anyway. ------------------------------------------------------------------------ r616 | remi | 2008-04-24 20:12:17 +0300 (Thu, 24 Apr 2008) | 2 lines Changed paths: M /trunk/src/trace-udp.c Fix incorrent double negation ------------------------------------------------------------------------ r615 | remi | 2008-03-23 11:56:38 +0200 (Sun, 23 Mar 2008) | 2 lines Changed paths: M /trunk/NEWS Some news ------------------------------------------------------------------------ r614 | remi | 2008-03-23 11:54:25 +0200 (Sun, 23 Mar 2008) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c ndisc6 already has a replacement for monotonic time - use it ------------------------------------------------------------------------ r613 | remi | 2008-03-23 11:50:17 +0200 (Sun, 23 Mar 2008) | 2 lines Changed paths: M /trunk/compat/fixups.h Fix for braindead OSX inet6 support ------------------------------------------------------------------------ r612 | remi | 2008-03-23 11:39:45 +0200 (Sun, 23 Mar 2008) | 3 lines Changed paths: M /trunk/compat/fixups.h A /trunk/compat/ppoll.c M /trunk/configure.ac Add ppoll() replacement - this is a GNU extension (and it might be a mess if POSIX ever standardizes a different prototype) ------------------------------------------------------------------------ r611 | remi | 2008-03-23 11:17:49 +0200 (Sun, 23 Mar 2008) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Add missing #includes pointed out by S?\195?\169bastien Vincent ------------------------------------------------------------------------ r610 | remi | 2008-03-23 11:15:00 +0200 (Sun, 23 Mar 2008) | 2 lines Changed paths: M /trunk/rdnssd/icmp.c BSD does not define SOL_*, copy work-around from src/traceroute.c ------------------------------------------------------------------------ r609 | remi | 2008-03-23 11:12:19 +0200 (Sun, 23 Mar 2008) | 2 lines Changed paths: M /trunk/compat/fixups.h A /trunk/compat/inet6_rth_add.c (from /trunk/src/inet6rth.h:605) M /trunk/configure.ac M /trunk/src/Makefile.am D /trunk/src/inet6rth.h M /trunk/src/traceroute.c More inet6_rth_* replacements to libcompat ------------------------------------------------------------------------ r608 | remi | 2008-03-22 23:57:51 +0200 (Sat, 22 Mar 2008) | 3 lines Changed paths: A /trunk/compat/fdatasync.c M /trunk/compat/fixups.h M /trunk/configure.ac Replace fdatasync (copied straight from Miredo) ------------------------------------------------------------------------ r607 | remi | 2008-03-22 23:55:24 +0200 (Sat, 22 Mar 2008) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am M /trunk/src/Makefile.am Use libcompat (even though it's currently empty) ------------------------------------------------------------------------ r606 | remi | 2008-03-22 23:50:33 +0200 (Sat, 22 Mar 2008) | 3 lines Changed paths: M /trunk/Makefile.am A /trunk/compat A /trunk/compat/Makefile.am A /trunk/compat/dummy.c A /trunk/compat/fixups.h M /trunk/configure.ac Infrastructure to use AC_REPLACE_FUNC (shamelessly stolen from Miredo) ------------------------------------------------------------------------ r605 | remi | 2008-03-16 19:34:47 +0200 (Sun, 16 Mar 2008) | 2 lines Changed paths: M /trunk/configure.ac Bump version number ------------------------------------------------------------------------ r604 | remi | 2008-03-16 19:34:07 +0200 (Sun, 16 Mar 2008) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Fix undefined behavior if the interface of a link-local server vanishes early ------------------------------------------------------------------------ r602 | remi | 2008-03-05 22:38:10 +0200 (Wed, 05 Mar 2008) | 2 lines Changed paths: M /trunk/NEWS Fix news ------------------------------------------------------------------------ r601 | remi | 2008-03-05 22:37:54 +0200 (Wed, 05 Mar 2008) | 2 lines Changed paths: M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Sync PO files ------------------------------------------------------------------------ r600 | remi | 2008-02-13 23:11:14 +0200 (Wed, 13 Feb 2008) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c Hack to avoid resetting resolv.conf when rdnssd is restarted. It would be more appropriate to query the routers manually at startup... ------------------------------------------------------------------------ r599 | remi | 2008-02-13 23:04:47 +0200 (Wed, 13 Feb 2008) | 4 lines Changed paths: M /trunk/rdnssd/rdnssd.c Handle the corner case whereby the current time is already beyond the deadline. (fix integer overflow). ------------------------------------------------------------------------ r598 | remi | 2008-02-13 22:58:27 +0200 (Wed, 13 Feb 2008) | 2 lines Changed paths: M /trunk/NEWS M /trunk/rdnssd/rdnssd.c Be consistent: no merge hook at exit => no updating resolv.conf either ------------------------------------------------------------------------ r597 | remi | 2008-02-13 22:57:00 +0200 (Wed, 13 Feb 2008) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c Handle ppoll() errors: EINTR is ok. ENOMEM is a fatal error. EINVAL, EFAULT, EBADF are bugs. ------------------------------------------------------------------------ r596 | remi | 2008-02-13 22:49:26 +0200 (Wed, 13 Feb 2008) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Cleanup: manager() does not need to know the worker PID, nor that it's its children ------------------------------------------------------------------------ r595 | remi | 2008-02-11 19:57:39 +0200 (Mon, 11 Feb 2008) | 8 lines Changed paths: M /trunk/rdnssd/rdnssd.c Do not rerun the merge hook upon exit. Experience shows that does more harm than good. If the system is going down, that is useless. If rdnssd is restarted, or the system is going down for maintenance, that may screw up the network connectivity. Simplify waiting on the pipe from the manager. Also fixes a very minor and extremely unlikely race condition whereby the worker unexpectdtedly dies while writing to the pipe (then revents should be POLLIN|POLLHUP and we still want to run the merge hook one last time) ------------------------------------------------------------------------ r594 | remi | 2008-02-11 19:43:36 +0200 (Mon, 11 Feb 2008) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Fix missing waitpid() return value check ------------------------------------------------------------------------ r593 | remi | 2008-02-11 19:37:57 +0200 (Mon, 11 Feb 2008) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c unlink before close is confusing. Comment it. ------------------------------------------------------------------------ r592 | remi | 2008-02-09 15:28:13 +0200 (Sat, 09 Feb 2008) | 3 lines Changed paths: M /trunk/doc/Makefile.am doc: Install relative rather than absolute symlinks (as pointed out by Jason Tibbitts on Fedora Bugzilla) ------------------------------------------------------------------------ r591 | remi | 2008-02-09 15:21:31 +0200 (Sat, 09 Feb 2008) | 2 lines Changed paths: M /trunk/configure.ac Bump version ------------------------------------------------------------------------ r590 | remi | 2008-02-09 15:00:32 +0200 (Sat, 09 Feb 2008) | 2 lines Changed paths: M /trunk/src/Makefile.am Warn about disable-suid-install. I thought I did that already. ------------------------------------------------------------------------ r588 | remi | 2008-02-09 14:06:50 +0200 (Sat, 09 Feb 2008) | 2 lines Changed paths: M /trunk/NEWS M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot More news and sync PO files ------------------------------------------------------------------------ r587 | remi | 2008-02-08 17:50:20 +0200 (Fri, 08 Feb 2008) | 2 lines Changed paths: M /trunk/NEWS News for 0.9.6 ------------------------------------------------------------------------ r586 | remi | 2008-02-08 17:50:04 +0200 (Fri, 08 Feb 2008) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am Fix distcheck ------------------------------------------------------------------------ r585 | remi | 2008-02-08 17:45:22 +0200 (Fri, 08 Feb 2008) | 2 lines Changed paths: M /trunk/rdnssd/merge-hook.in Typo ------------------------------------------------------------------------ r584 | remi | 2008-01-30 18:54:05 +0200 (Wed, 30 Jan 2008) | 2 lines Changed paths: M /trunk/rdnssd/netlink.c Fix compilation against 2.6.24 kernel headers ------------------------------------------------------------------------ r583 | remi | 2008-01-10 20:04:55 +0200 (Thu, 10 Jan 2008) | 3 lines Changed paths: M /trunk/src/traceroute.c Filter out ICMP errors for packets toward other destinations, using the socket filter ------------------------------------------------------------------------ r582 | remi | 2007-12-30 18:54:31 +0200 (Sun, 30 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am Really make merge-hook executable. ------------------------------------------------------------------------ r581 | remi | 2007-12-30 18:53:08 +0200 (Sun, 30 Dec 2007) | 2 lines Changed paths: M /trunk/configure.ac Bump dev version ------------------------------------------------------------------------ r579 | remi | 2007-12-30 13:03:06 +0200 (Sun, 30 Dec 2007) | 2 lines Changed paths: M /trunk/po/en.po M /trunk/po/fr.po Improve the English locale, complete the French one ------------------------------------------------------------------------ r578 | remi | 2007-12-30 12:37:51 +0200 (Sun, 30 Dec 2007) | 2 lines Changed paths: M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot M /trunk/rdnssd/rdnssd.c Add some translation, and rationalize ------------------------------------------------------------------------ r577 | linkfanel | 2007-12-30 02:12:30 +0200 (Sun, 30 Dec 2007) | 2 lines Changed paths: M /trunk/po/fr.po Update translation file ------------------------------------------------------------------------ r576 | remi | 2007-12-30 00:00:44 +0200 (Sun, 30 Dec 2007) | 2 lines Changed paths: M /trunk/NEWS Some news already ------------------------------------------------------------------------ r575 | linkfanel | 2007-12-29 23:55:43 +0200 (Sat, 29 Dec 2007) | 2 lines Changed paths: M /trunk/doc/rdnssd.8-in Fix typo in manpage formatting ------------------------------------------------------------------------ r574 | remi | 2007-12-29 23:41:43 +0200 (Sat, 29 Dec 2007) | 2 lines Changed paths: M /trunk/doc/Makefile.am Ship rdnssd.8-in instead of rdnssd.8 in the tarball ------------------------------------------------------------------------ r573 | remi | 2007-12-29 23:38:32 +0200 (Sat, 29 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am Try to remove /var/run/rdnssd/ while uninstalling ------------------------------------------------------------------------ r572 | remi | 2007-12-27 22:31:31 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Missing #include ------------------------------------------------------------------------ r571 | remi | 2007-12-27 22:23:37 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Initialize groups properly - not to UID!!! ------------------------------------------------------------------------ r570 | remi | 2007-12-27 22:04:16 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am Make merge-hook executable ------------------------------------------------------------------------ r569 | remi | 2007-12-27 19:23:25 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/NEWS M /trunk/configure.ac Bump version number ------------------------------------------------------------------------ r567 | remi | 2007-12-27 19:17:53 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/NEWS News for 0.9.4 ------------------------------------------------------------------------ r566 | remi | 2007-12-27 19:16:06 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Gettext insists on updating the PO dates ------------------------------------------------------------------------ r565 | remi | 2007-12-27 19:12:35 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/doc/Makefile.am Fix ASCII manpage hook ------------------------------------------------------------------------ r564 | remi | 2007-12-27 19:10:56 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/configure.ac M /trunk/m4 Update gettext ------------------------------------------------------------------------ r563 | remi | 2007-12-27 00:03:00 +0200 (Thu, 27 Dec 2007) | 2 lines Changed paths: M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Sync and update translation files ------------------------------------------------------------------------ r562 | remi | 2007-12-26 23:56:25 +0200 (Wed, 26 Dec 2007) | 4 lines Changed paths: M /trunk/rdnssd/rdnssd.c String rationalization: - don't use \n with syslog - getpwnam does not usually set errno to anything meaningful (if user does not exists) ------------------------------------------------------------------------ r561 | remi | 2007-12-26 23:43:18 +0200 (Wed, 26 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am Pedantic use of -- ------------------------------------------------------------------------ r560 | remi | 2007-12-26 23:39:47 +0200 (Wed, 26 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am Create /var/run/rdnssd from $(make install) ------------------------------------------------------------------------ r559 | remi | 2007-12-26 23:31:13 +0200 (Wed, 26 Dec 2007) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c Use SIG_SETMASK rather than SIG_BLOCK We don't want to inherit whatever signal mask our parent had. ------------------------------------------------------------------------ r558 | remi | 2007-12-14 18:57:29 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am Install rdnssd to /etc/rdnssd rather than /etc/ndisc6 ------------------------------------------------------------------------ r557 | remi | 2007-12-14 18:47:55 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am M /trunk/rdnssd/merge-hook.in merge-hook cosmetic fixes ------------------------------------------------------------------------ r556 | remi | 2007-12-14 18:42:32 +0200 (Fri, 14 Dec 2007) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c - Add missing brackets - Handle socket error gracefully (skip error from recv()) ------------------------------------------------------------------------ r555 | remi | 2007-12-14 18:30:25 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/icmp.c Fix for prehistoric libc ------------------------------------------------------------------------ r554 | remi | 2007-12-14 18:30:11 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/doc ignore ------------------------------------------------------------------------ r553 | linkfanel | 2007-12-14 18:29:38 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Enable writing of scoped link-local addresses to resolv.conf ------------------------------------------------------------------------ r552 | remi | 2007-12-14 17:31:18 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/doc/Makefile.am M /trunk/doc/rdnssd.8-in Substitution, installation and cleaning for rdnssd.8 ------------------------------------------------------------------------ r551 | remi | 2007-12-14 17:26:26 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/doc/Makefile.am Fix manpage symlinks ------------------------------------------------------------------------ r550 | remi | 2007-12-14 17:24:29 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/configure.ac M /trunk/doc A /trunk/doc/Makefile.am "Build" doc as a separate directory ------------------------------------------------------------------------ r549 | linkfanel | 2007-12-14 17:18:11 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/Makefile.am Install rdnssd manpage ------------------------------------------------------------------------ r548 | remi | 2007-12-14 17:16:30 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/doc/rdnssd.8-in props ------------------------------------------------------------------------ r547 | linkfanel | 2007-12-14 16:59:17 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: A /trunk/doc/rdnssd.8-in Add a manpage for rdnssd ------------------------------------------------------------------------ r546 | linkfanel | 2007-12-14 16:46:05 +0200 (Fri, 14 Dec 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Update informational output. ------------------------------------------------------------------------ r545 | linkfanel | 2007-12-09 09:18:06 +0200 (Sun, 09 Dec 2007) | 3 lines Changed paths: M /trunk/rdnssd/icmp.c M /trunk/rdnssd/netlink.c M /trunk/rdnssd/rdnssd.c M /trunk/rdnssd/rdnssd.h - Update to new netlink interface - Add logic to handle link-local addresses ------------------------------------------------------------------------ r544 | linkfanel | 2007-11-09 03:43:12 +0200 (Fri, 09 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Complete help ------------------------------------------------------------------------ r543 | linkfanel | 2007-11-09 01:58:48 +0200 (Fri, 09 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Fix parenthesis error in the parsing of multiple options ------------------------------------------------------------------------ r542 | remi | 2007-11-08 18:10:47 +0200 (Thu, 08 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/netlink.c Only try netlink if running recent enough Linux kernel ------------------------------------------------------------------------ r541 | remi | 2007-11-08 18:03:38 +0200 (Thu, 08 Nov 2007) | 3 lines Changed paths: M /trunk/rdnssd/icmp.c M /trunk/rdnssd/netlink.c M /trunk/rdnssd/rdnssd.c M /trunk/rdnssd/rdnssd.h - Use the new files. - Set nobody as default UID rather than undefined. ------------------------------------------------------------------------ r540 | remi | 2007-11-08 17:46:00 +0200 (Thu, 08 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am A /trunk/rdnssd/icmp.c A /trunk/rdnssd/netlink.c M /trunk/rdnssd/rdnssd.c A /trunk/rdnssd/rdnssd.h Prepare to split into multiple files ------------------------------------------------------------------------ r539 | linkfanel | 2007-11-08 03:42:22 +0200 (Thu, 08 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Add support to setuid ------------------------------------------------------------------------ r538 | linkfanel | 2007-11-08 03:17:45 +0200 (Thu, 08 Nov 2007) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c - Actually handle poll errors - Handle child process failures ------------------------------------------------------------------------ r537 | linkfanel | 2007-11-08 00:13:34 +0200 (Thu, 08 Nov 2007) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c - Switch IPC from signal to pipe to work with setuid - Move signal handling again ------------------------------------------------------------------------ r536 | remi | 2007-11-07 21:49:29 +0200 (Wed, 07 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Missing comma ------------------------------------------------------------------------ r535 | remi | 2007-11-07 20:40:39 +0200 (Wed, 07 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Fix locking, simplify signal handling ------------------------------------------------------------------------ r534 | remi | 2007-11-07 19:56:33 +0200 (Wed, 07 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Remove unused statements ------------------------------------------------------------------------ r533 | linkfanel | 2007-11-07 05:40:17 +0200 (Wed, 07 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Totally remove resolv.conf files management with inotify ------------------------------------------------------------------------ r532 | linkfanel | 2007-11-06 04:32:49 +0200 (Tue, 06 Nov 2007) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c Fix start-up with a non-existent /var/run/rdnssd/resolv.conf. Inotify logic is still further flawed. ------------------------------------------------------------------------ r531 | remi | 2007-11-03 14:45:28 +0200 (Sat, 03 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Add _() where applicable ------------------------------------------------------------------------ r530 | remi | 2007-11-03 14:42:24 +0200 (Sat, 03 Nov 2007) | 2 lines Changed paths: M /trunk/NEWS M /trunk/rdnssd/Makefile.am Make distcheck happy ------------------------------------------------------------------------ r529 | remi | 2007-11-03 14:38:32 +0200 (Sat, 03 Nov 2007) | 2 lines Changed paths: M /trunk/po/POTFILES.in M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot M /trunk/rdnssd/rdnssd.c Partial strings update ------------------------------------------------------------------------ r528 | remi | 2007-11-03 14:26:47 +0200 (Sat, 03 Nov 2007) | 2 lines Changed paths: M /trunk/src/addrinfo.c M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/traceroute.c License string rationalization ------------------------------------------------------------------------ r527 | remi | 2007-11-03 14:26:28 +0200 (Sat, 03 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Add --help and --version ------------------------------------------------------------------------ r526 | remi | 2007-11-03 13:20:57 +0200 (Sat, 03 Nov 2007) | 10 lines Changed paths: M /trunk/rdnssd/rdnssd.c - Add foreground option for easier debugging - Add bunch of static qualifiers - Functions with no parameters take void - Use advisory locking for PID file - Ignore SIGPIPE - Dequeue errors (POLLERR but not POLLIN) on socket - Use ppoll and sigprocmask for signal handling - Handle SIGINT as SIGTERM - And add lots of new bugs ------------------------------------------------------------------------ r525 | remi | 2007-11-02 19:00:36 +0200 (Fri, 02 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Use const and fix unused parameters warnings ------------------------------------------------------------------------ r524 | linkfanel | 2007-11-02 04:14:05 +0200 (Fri, 02 Nov 2007) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c Parse options from command line, to control file paths and switch to managed mode ------------------------------------------------------------------------ r523 | linkfanel | 2007-11-02 01:23:20 +0200 (Fri, 02 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Fix and clean up startup and shutdown processes ------------------------------------------------------------------------ r522 | linkfanel | 2007-11-01 04:30:46 +0200 (Thu, 01 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Ignore our own changes to /etc/resolv.conf to avoid merging twice ------------------------------------------------------------------------ r521 | linkfanel | 2007-11-01 04:14:13 +0200 (Thu, 01 Nov 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Make changes to /var/run/rdnssd/resolv.conf atomic ------------------------------------------------------------------------ r520 | linkfanel | 2007-11-01 03:54:08 +0200 (Thu, 01 Nov 2007) | 3 lines Changed paths: M /trunk/rdnssd/rdnssd.c - Split netlink listening and resolv.conf management into two processes - Prepare support for unmanaged mode ------------------------------------------------------------------------ r519 | linkfanel | 2007-10-31 20:41:21 +0200 (Wed, 31 Oct 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Add daemon capabilities ------------------------------------------------------------------------ r518 | remi | 2007-10-30 21:03:23 +0200 (Tue, 30 Oct 2007) | 2 lines Changed paths: M /trunk/rdnssd/merge-hook.in svn properties ------------------------------------------------------------------------ r517 | linkfanel | 2007-10-30 20:54:21 +0200 (Tue, 30 Oct 2007) | 2 lines Changed paths: M /trunk/rdnssd/Makefile.am M /trunk/rdnssd/merge-hook.in Add merge hook for rdnssd ------------------------------------------------------------------------ r516 | remi | 2007-10-30 20:02:40 +0200 (Tue, 30 Oct 2007) | 2 lines Changed paths: M /trunk/src/Makefile.am Remove unneeded defines ------------------------------------------------------------------------ r515 | remi | 2007-10-29 21:53:33 +0200 (Mon, 29 Oct 2007) | 2 lines Changed paths: M /trunk/rdnssd svn:ignore ------------------------------------------------------------------------ r514 | remi | 2007-10-29 21:52:53 +0200 (Mon, 29 Oct 2007) | 2 lines Changed paths: M /trunk/rdnssd/rdnssd.c Woops restore recent commits ------------------------------------------------------------------------ r513 | remi | 2007-10-29 21:52:20 +0200 (Mon, 29 Oct 2007) | 2 lines Changed paths: M /trunk/Makefile.am A /trunk/ald M /trunk/configure.ac A /trunk/rdnssd A /trunk/rdnssd/Makefile.am (from /trunk/src/Makefile.am:511) A /trunk/rdnssd/merge-hook.in A /trunk/rdnssd/rdnssd.c (from /trunk/src/rdnssd.c:511) M /trunk/src/Makefile.am D /trunk/src/rdnssd.c Move rdnssd to its own directory ------------------------------------------------------------------------ r512 | linkfanel | 2007-10-29 02:38:37 +0200 (Mon, 29 Oct 2007) | 2 lines Changed paths: M /trunk/src/rdnssd.c Improve inotify handling ------------------------------------------------------------------------ r511 | remi | 2007-10-28 13:50:00 +0200 (Sun, 28 Oct 2007) | 2 lines Changed paths: M /trunk/NEWS M /trunk/src/Makefile.am name2addr and addr2name got messed up. Fix them. ------------------------------------------------------------------------ r510 | remi | 2007-10-27 22:38:20 +0300 (Sat, 27 Oct 2007) | 2 lines Changed paths: M /trunk/src/Makefile.am M /trunk/src/rdnssd.c Use autoconf localstatedir instead of /var ------------------------------------------------------------------------ r509 | remi | 2007-10-27 22:36:15 +0300 (Sat, 27 Oct 2007) | 5 lines Changed paths: M /trunk/src/rdnssd.c Fix merge_hook: - handle errors and whine about them, - get directory from autoconf settings, - pass valid arg0 to exec*(). ------------------------------------------------------------------------ r508 | remi | 2007-10-27 22:32:28 +0300 (Sat, 27 Oct 2007) | 2 lines Changed paths: M /trunk/src/Makefile.am Set SYSCONFDIR to system config dir from autoconf ------------------------------------------------------------------------ r507 | remi | 2007-10-27 22:21:04 +0300 (Sat, 27 Oct 2007) | 2 lines Changed paths: M /trunk/src/rdnssd.c Fix more sign warnings ------------------------------------------------------------------------ r506 | remi | 2007-10-27 22:19:30 +0300 (Sat, 27 Oct 2007) | 2 lines Changed paths: M /trunk/src/rdnssd.c Use const, fix a sign warning ------------------------------------------------------------------------ r505 | remi | 2007-10-27 22:15:36 +0300 (Sat, 27 Oct 2007) | 4 lines Changed paths: M /trunk/src/rdnssd.c - Comment out dead ICMP code for the time being, - Factorize fcntl code - Cleanup event loop ------------------------------------------------------------------------ r504 | linkfanel | 2007-10-27 21:09:26 +0300 (Sat, 27 Oct 2007) | 3 lines Changed paths: M /trunk/src/rdnssd.c - Remove resolv.conf merging from main rdnssd - Add inotify support for resolv.conf ------------------------------------------------------------------------ r503 | linkfanel | 2007-10-24 20:42:54 +0300 (Wed, 24 Oct 2007) | 2 lines Changed paths: M /trunk/AUTHORS M /trunk/src/rdnssd.c Fix my email address and add my copyright ------------------------------------------------------------------------ r502 | remi | 2007-10-24 20:42:14 +0300 (Wed, 24 Oct 2007) | 2 lines Changed paths: M /trunk/NEWS Add some news and test post commit hook ------------------------------------------------------------------------ r501 | remi | 2007-10-24 20:35:39 +0300 (Wed, 24 Oct 2007) | 2 lines Changed paths: M /trunk/AUTHORS Add Pierre to AUTHORS (email needs checking) ------------------------------------------------------------------------ r500 | remi | 2007-10-24 20:31:01 +0300 (Wed, 24 Oct 2007) | 2 lines Changed paths: M /trunk/m4 svn:ignore ------------------------------------------------------------------------ r499 | remi | 2007-10-24 20:29:48 +0300 (Wed, 24 Oct 2007) | 2 lines Changed paths: M /trunk/autogen.sh Simplify through autoreconf ------------------------------------------------------------------------ r498 | remi | 2007-10-24 20:24:06 +0300 (Wed, 24 Oct 2007) | 2 lines Changed paths: M /trunk/autogen.sh M /trunk/configure.ac Fix GPL version ------------------------------------------------------------------------ r497 | remi | 2007-10-24 20:22:23 +0300 (Wed, 24 Oct 2007) | 2 lines Changed paths: M /trunk/README GPL version TWO ------------------------------------------------------------------------ r496 | linkfanel | 2007-10-23 05:38:29 +0300 (Tue, 23 Oct 2007) | 2 lines Changed paths: M /trunk/src/rdnssd.c Fix typo when opening syslog ------------------------------------------------------------------------ r495 | linkfanel | 2007-10-23 05:05:15 +0300 (Tue, 23 Oct 2007) | 2 lines Changed paths: M /trunk/src/rdnssd.c Fix expiration detection ------------------------------------------------------------------------ r494 | linkfanel | 2007-10-23 04:40:33 +0300 (Tue, 23 Oct 2007) | 2 lines Changed paths: M /trunk/src/rdnssd.c Actually sort entries in the right order ------------------------------------------------------------------------ r493 | linkfanel | 2007-10-23 04:36:06 +0300 (Tue, 23 Oct 2007) | 4 lines Changed paths: M /trunk/src/rdnssd.c Add logic to further limit the number of RDNSS entries written to resolv.conf: we may want to leave some room for IPv4 entries as backup for when IPv6 fails. ------------------------------------------------------------------------ r492 | linkfanel | 2007-10-23 02:31:54 +0300 (Tue, 23 Oct 2007) | 4 lines Changed paths: M /trunk/src/rdnssd.c rdnssd: - Merge new netlink interface support - Add support to update resolv.conf file ------------------------------------------------------------------------ r491 | linkfanel | 2007-10-23 02:28:19 +0300 (Tue, 23 Oct 2007) | 2 lines Changed paths: M /trunk/autogen.sh Fix a copy-paste typo ------------------------------------------------------------------------ r490 | remi | 2007-09-25 21:07:05 +0300 (Tue, 25 Sep 2007) | 2 lines Changed paths: M /trunk/src/ndisc.c RFC5006 is out ------------------------------------------------------------------------ r489 | remi | 2007-08-08 21:34:08 +0300 (Wed, 08 Aug 2007) | 2 lines Changed paths: M /trunk/src/rdnssd.c Fix meta infos ------------------------------------------------------------------------ r488 | remi | 2007-08-08 21:32:52 +0300 (Wed, 08 Aug 2007) | 2 lines Changed paths: M /trunk/configure.ac Bump version ------------------------------------------------------------------------ r487 | remi | 2007-08-08 21:02:19 +0300 (Wed, 08 Aug 2007) | 2 lines Changed paths: M /trunk/src/Makefile.am A /trunk/src/rdnssd.c Add partial RDNSSd ------------------------------------------------------------------------ r485 | remi | 2007-08-08 18:13:07 +0300 (Wed, 08 Aug 2007) | 2 lines Changed paths: M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Resync PO files ------------------------------------------------------------------------ r484 | remi | 2007-08-08 18:11:29 +0300 (Wed, 08 Aug 2007) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/m4/Makefile.am M /trunk/src/Makefile.am License fixups ------------------------------------------------------------------------ r483 | remi | 2007-08-08 18:09:36 +0300 (Wed, 08 Aug 2007) | 2 lines Changed paths: M /trunk/COPYING M /trunk/NEWS M /trunk/doc/addr2name.1 M /trunk/doc/dnssort.1 M /trunk/doc/ndisc6.8 M /trunk/doc/rdisc6.8 M /trunk/doc/rltraceroute6.8 M /trunk/doc/tcpspray.1 M /trunk/src/Makefile.am M /trunk/src/addrinfo.c M /trunk/src/dnssort.in M /trunk/src/gen-alias M /trunk/src/gettime.h M /trunk/src/inet6rth.h M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/tcptraceroute.c M /trunk/src/trace-icmp.c M /trunk/src/trace-tcp.c M /trunk/src/trace-udp.c M /trunk/src/traceroute.c M /trunk/src/traceroute.h Still allow GPLv2 ------------------------------------------------------------------------ r482 | remi | 2007-08-05 22:59:53 +0300 (Sun, 05 Aug 2007) | 2 lines Changed paths: M /trunk/src/ndisc.c Use linker rather than precompiler for most of the ndisc/rdisc specifics ------------------------------------------------------------------------ r481 | remi | 2007-08-05 22:38:09 +0300 (Sun, 05 Aug 2007) | 2 lines Changed paths: M /trunk/src/ndisc.c Ignore unused attributes instead of (ab)using macros ------------------------------------------------------------------------ r480 | remi | 2007-07-11 20:03:57 +0300 (Wed, 11 Jul 2007) | 2 lines Changed paths: M /trunk/NEWS M /trunk/src/ndisc.c Support for RDNSS in router advertisements ------------------------------------------------------------------------ r479 | remi | 2007-07-11 19:48:32 +0300 (Wed, 11 Jul 2007) | 2 lines Changed paths: M /trunk/src/ndisc.c Minor code factorization ------------------------------------------------------------------------ r478 | remi | 2007-07-09 23:08:04 +0300 (Mon, 09 Jul 2007) | 2 lines Changed paths: M /trunk/configure.ac Fix gettext usage ------------------------------------------------------------------------ r477 | remi | 2007-07-09 23:02:55 +0300 (Mon, 09 Jul 2007) | 2 lines Changed paths: M /trunk/src/ndisc.c Fix warning ------------------------------------------------------------------------ r476 | remi | 2007-07-09 23:02:36 +0300 (Mon, 09 Jul 2007) | 2 lines Changed paths: M /trunk/COPYING M /trunk/Makefile.am M /trunk/NEWS M /trunk/README M /trunk/autogen.sh M /trunk/configure.ac M /trunk/doc/addr2name.1 M /trunk/doc/dnssort.1 M /trunk/doc/ndisc6.8 M /trunk/doc/rdisc6.8 M /trunk/doc/rltraceroute6.8 M /trunk/doc/tcpspray.1 M /trunk/m4/Makefile.am M /trunk/src/Makefile.am M /trunk/src/addrinfo.c M /trunk/src/dnssort.in M /trunk/src/gen-alias M /trunk/src/gettime.h M /trunk/src/inet6rth.h M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/tcptraceroute.c M /trunk/src/trace-icmp.c M /trunk/src/trace-tcp.c M /trunk/src/trace-udp.c M /trunk/src/traceroute.c M /trunk/src/traceroute.h Switch to GLPv3 ------------------------------------------------------------------------ r475 | remi | 2007-06-03 14:18:25 +0300 (Sun, 03 Jun 2007) | 2 lines Changed paths: D /tags/0.9.0/packages D /tags/0.9.2/packages D /trunk/packages Remove useless empty directories ------------------------------------------------------------------------ r473 | remi | 2007-04-13 19:20:20 +0300 (Fri, 13 Apr 2007) | 2 lines Changed paths: M /trunk/Makefile.am Add distcheck hook to make sure manpages are plain ASCII ------------------------------------------------------------------------ r471 | remi | 2007-04-13 19:01:15 +0300 (Fri, 13 Apr 2007) | 2 lines Changed paths: M /trunk/NEWS M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Sync for release 0.9.2 ------------------------------------------------------------------------ r470 | remi | 2007-03-29 19:55:43 +0300 (Thu, 29 Mar 2007) | 4 lines Changed paths: A /trunk/CMakeLists.txt A /trunk/config.cmake A /trunk/src/CMakeLists.txt Partial CMake support. It sucks (CMake does not seem to care much about Linux/BSD). DO NOT USE IT. ------------------------------------------------------------------------ r469 | remi | 2007-03-29 18:31:21 +0300 (Thu, 29 Mar 2007) | 2 lines Changed paths: M /trunk/configure.ac Fix build with automake 1.10 ------------------------------------------------------------------------ r468 | remi | 2007-03-04 14:11:18 +0200 (Sun, 04 Mar 2007) | 2 lines Changed paths: M /trunk/NEWS M /trunk/configure.ac M /trunk/src/traceroute.c glibc 2.3 compile fix ------------------------------------------------------------------------ r467 | remi | 2007-03-04 12:03:26 +0200 (Sun, 04 Mar 2007) | 2 lines Changed paths: M /trunk/po/en.po M /trunk/po/fr.po M /trunk/po/ndisc6.pot Improve French translation and resync PO files ------------------------------------------------------------------------ r466 | remi | 2007-03-04 12:03:05 +0200 (Sun, 04 Mar 2007) | 2 lines Changed paths: M /trunk/src/ndisc.c Missing translation ------------------------------------------------------------------------ r465 | remi | 2007-03-04 11:58:00 +0200 (Sun, 04 Mar 2007) | 2 lines Changed paths: M /trunk/src/tcptraceroute.c M /trunk/src/traceroute.c Some string rationalization ------------------------------------------------------------------------ r464 | remi | 2007-03-04 11:35:07 +0200 (Sun, 04 Mar 2007) | 2 lines Changed paths: M /trunk/NEWS M /trunk/src/gen-alias Do not use tempfile as it Debian-specific ------------------------------------------------------------------------ r463 | remi | 2007-02-05 23:00:01 +0200 (Mon, 05 Feb 2007) | 2 lines Changed paths: M /trunk/doc/rltraceroute6.8 Document UDP-Lite support ------------------------------------------------------------------------ r462 | remi | 2007-02-05 22:57:35 +0200 (Mon, 05 Feb 2007) | 2 lines Changed paths: M /trunk/NEWS M /trunk/src/trace-udp.c M /trunk/src/traceroute.c M /trunk/src/traceroute.h traceroute support for UDP-Lite (no extra code! only extra data!) ------------------------------------------------------------------------ r461 | remi | 2007-02-04 21:48:36 +0200 (Sun, 04 Feb 2007) | 2 lines Changed paths: A /trunk/ezirad A /trunk/ezirad/Makefile A /trunk/ezirad/NOTES A /trunk/ezirad/config.h A /trunk/ezirad/ezirad.c A /trunk/ezirad/ezirad.h A /trunk/ezirad/sys_netlink.c Check-in (broken unusable) development preversion of ezirad ------------------------------------------------------------------------ r460 | remi | 2007-02-04 16:51:00 +0200 (Sun, 04 Feb 2007) | 2 lines Changed paths: M /trunk/src/traceroute.c Preliminary (incomplete, ifdef'd out) code for Extended ICMP ------------------------------------------------------------------------ r459 | remi | 2007-02-04 14:31:12 +0200 (Sun, 04 Feb 2007) | 2 lines Changed paths: M /trunk/doc/rltraceroute6.8 Document traceroute error symbols ------------------------------------------------------------------------ r458 | remi | 2007-02-04 14:08:27 +0200 (Sun, 04 Feb 2007) | 3 lines Changed paths: M /trunk/src/traceroute.c - Add support for RFC4443 unreachable error codes (2, 5, 6) - Remove bogus gettext translation requests ------------------------------------------------------------------------ r457 | remi | 2007-02-03 22:46:31 +0200 (Sat, 03 Feb 2007) | 2 lines Changed paths: M /trunk/src/traceroute.c Use getaddrinfo() AI_CANNONAME instead of getnameinfo() ------------------------------------------------------------------------ r456 | remi | 2007-02-02 22:14:07 +0200 (Fri, 02 Feb 2007) | 2 lines Changed paths: M /trunk/po/LINGUAS M /trunk/po/en.po A /trunk/po/fr.po M /trunk/po/ndisc6.pot M /trunk/src/tcpspray.c Partial French localization and some string fixes ------------------------------------------------------------------------ r454 | remi | 2007-02-02 21:55:04 +0200 (Fri, 02 Feb 2007) | 2 lines Changed paths: M /trunk/include Fix svn:ignore ------------------------------------------------------------------------ r453 | remi | 2007-02-02 21:54:32 +0200 (Fri, 02 Feb 2007) | 2 lines Changed paths: M /trunk/src/addrinfo.c M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/tcptraceroute.c M /trunk/src/traceroute.c String rationalization ------------------------------------------------------------------------ r452 | remi | 2007-02-02 21:49:52 +0200 (Fri, 02 Feb 2007) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/autogen.sh M /trunk/configure.ac A /trunk/include M /trunk/src/Makefile.am M /trunk/src/addrinfo.c M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/tcptraceroute.c M /trunk/src/traceroute.c Actually use gettext within all programs ------------------------------------------------------------------------ r451 | remi | 2007-02-02 21:40:22 +0200 (Fri, 02 Feb 2007) | 2 lines Changed paths: M /trunk/src/traceroute.c Fixes ------------------------------------------------------------------------ r450 | remi | 2007-02-02 21:36:40 +0200 (Fri, 02 Feb 2007) | 3 lines Changed paths: M /trunk/po M /trunk/po/LINGUAS A /trunk/po/en.po M /trunk/po/ndisc6.pot M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/traceroute.c - Rationalizes/fixes translated string - Add english localization ------------------------------------------------------------------------ r449 | remi | 2007-02-02 21:13:43 +0200 (Fri, 02 Feb 2007) | 2 lines Changed paths: M /trunk/po M /trunk/src Fix svn:ignore ------------------------------------------------------------------------ r448 | remi | 2007-02-02 21:06:40 +0200 (Fri, 02 Feb 2007) | 2 lines Changed paths: M /trunk M /trunk/Makefile.am M /trunk/admin M /trunk/autogen.sh M /trunk/configure.ac M /trunk/m4 A /trunk/po A /trunk/po/LINGUAS A /trunk/po/Makevars A /trunk/po/POTFILES.in A /trunk/po/ndisc6.pot Add gettext ------------------------------------------------------------------------ r447 | remi | 2007-02-02 20:49:12 +0200 (Fri, 02 Feb 2007) | 2 lines Changed paths: M /trunk/src/addrinfo.c M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/tcptraceroute.c M /trunk/src/traceroute.c setlocale() fixes ------------------------------------------------------------------------ r446 | remi | 2007-01-27 19:07:45 +0200 (Sat, 27 Jan 2007) | 2 lines Changed paths: M /trunk/NEWS Some news ------------------------------------------------------------------------ r445 | remi | 2007-01-27 18:56:14 +0200 (Sat, 27 Jan 2007) | 2 lines Changed paths: M /trunk/Makefile.am Forgot this file in previous commit ------------------------------------------------------------------------ r444 | remi | 2007-01-27 18:55:49 +0200 (Sat, 27 Jan 2007) | 2 lines Changed paths: A /trunk/doc/addr2name.1 (from /trunk/doc/addrinfo.1:442) D /trunk/doc/addrinfo.1 M /trunk/src/Makefile.am Rename addrinfo resp nameinfo to name2addr resp addr2name ------------------------------------------------------------------------ r443 | remi | 2007-01-27 18:54:58 +0200 (Sat, 27 Jan 2007) | 2 lines Changed paths: M /trunk/src/traceroute.c Fix typo ------------------------------------------------------------------------ r442 | remi | 2007-01-14 16:15:52 +0200 (Sun, 14 Jan 2007) | 2 lines Changed paths: M /trunk/README M /trunk/doc/addrinfo.1 M /trunk/doc/dnssort.1 M /trunk/doc/ndisc6.8 M /trunk/doc/rdisc6.8 M /trunk/doc/rltraceroute6.8 M /trunk/doc/tcpspray.1 Update official ndisc6 URL ------------------------------------------------------------------------ r441 | remi | 2007-01-07 16:20:39 +0200 (Sun, 07 Jan 2007) | 2 lines Changed paths: M /trunk/src/Makefile.am No longer define MYEXECDIR when compiling tcptraceroute6 ------------------------------------------------------------------------ r440 | remi | 2007-01-07 16:19:58 +0200 (Sun, 07 Jan 2007) | 5 lines Changed paths: M /trunk/src/tcptraceroute.c - No longer hardcode rltraceroute6 path into tcptraceroute6 - tcptraceroute6 uses exit() to limit would-be buffer overflow exploitability (however since this binary is not meant to be setuid, a buffer overflow should be harmless anyway; besidesn it has no known buffer overlow...) ------------------------------------------------------------------------ r439 | remi | 2007-01-06 16:00:48 +0200 (Sat, 06 Jan 2007) | 2 lines Changed paths: M /trunk/src/ndisc.c Remove superfluous ampersand ------------------------------------------------------------------------ r438 | remi | 2006-12-30 19:01:10 +0200 (Sat, 30 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Increase progress report properly in case of timeout ------------------------------------------------------------------------ r437 | remi | 2006-12-30 18:45:10 +0200 (Sat, 30 Dec 2006) | 2 lines Changed paths: M /trunk/configure.ac This is development trunk for 0.9.1 ------------------------------------------------------------------------ r435 | remi | 2006-12-30 15:32:35 +0200 (Sat, 30 Dec 2006) | 2 lines Changed paths: M /trunk/NEWS News for release 0.9.0 ------------------------------------------------------------------------ r434 | remi | 2006-12-30 12:20:52 +0200 (Sat, 30 Dec 2006) | 3 lines Changed paths: M /trunk/doc/ndisc6.8 M /trunk/doc/rdisc6.8 M /trunk/src/ndisc.c Apply RFC2461 interval between router solicitations and document it. RFC2461-mandated random delays are still not implemented. ------------------------------------------------------------------------ r433 | remi | 2006-12-29 12:22:27 +0200 (Fri, 29 Dec 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Fix "low" preference text ------------------------------------------------------------------------ r432 | remi | 2006-12-29 12:13:37 +0200 (Fri, 29 Dec 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/src/ndisc.c rdisc6 implements RFC4191 ------------------------------------------------------------------------ r431 | remi | 2006-12-28 19:59:55 +0200 (Thu, 28 Dec 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Print value of Router Advertisement flags from RFC2461 ------------------------------------------------------------------------ r430 | remi | 2006-12-28 17:39:08 +0200 (Thu, 28 Dec 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Router lifetime is expressed in seconds, not in milliseconds! ------------------------------------------------------------------------ r428 | remi | 2006-12-21 22:07:26 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/src/Makefile.am suppress useless likely counter-intuitive tcpspray4 alias ------------------------------------------------------------------------ r427 | remi | 2006-12-21 20:28:04 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am Take program-transform-name into account when setting SetUID bit ------------------------------------------------------------------------ r426 | remi | 2006-12-21 20:03:25 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/configure.ac Escape antislash properly in configure invocation macro definition ------------------------------------------------------------------------ r425 | remi | 2006-12-21 19:29:34 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am M /trunk/src/tcptraceroute.c Also apply program name transformation to tcptraceroute6 manually. ------------------------------------------------------------------------ r424 | remi | 2006-12-21 19:21:04 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am M /trunk/src/gen-alias Apply transform_program_name to alias scripts as well ------------------------------------------------------------------------ r423 | remi | 2006-12-21 19:06:28 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/Makefile.am Take program-name-transform into account for manual pages symlinks ------------------------------------------------------------------------ r422 | remi | 2006-12-21 19:05:06 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/NEWS Document tcpspray fix ------------------------------------------------------------------------ r421 | remi | 2006-12-21 19:04:21 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/src Fix svn:ignore ------------------------------------------------------------------------ r420 | remi | 2006-12-21 09:47:09 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/doc/addrinfo.1 Add missing new line ------------------------------------------------------------------------ r419 | remi | 2006-12-21 09:40:36 +0200 (Thu, 21 Dec 2006) | 2 lines Changed paths: M /trunk/src/addrinfo.c Remove obsolete "-1" command line option from addrinfo usage line ------------------------------------------------------------------------ r418 | remi | 2006-12-21 09:35:26 +0200 (Thu, 21 Dec 2006) | 3 lines Changed paths: M /trunk/src/tcpspray.c Kill child (receiver) process in case of fatal error. This solves a deadlock at exit if write() failed for some reason. ------------------------------------------------------------------------ r416 | remi | 2006-12-20 19:55:24 +0200 (Wed, 20 Dec 2006) | 2 lines Changed paths: M /trunk/doc/tcpspray.1 Update tcpspray documentation ------------------------------------------------------------------------ r415 | remi | 2006-12-20 19:53:45 +0200 (Wed, 20 Dec 2006) | 3 lines Changed paths: M /trunk/Makefile.am A /trunk/doc/tcpspray.1 (from /trunk/doc/tcpspray6.1:413) D /trunk/doc/tcpspray6.1 M /trunk/src/Makefile.am Rename tcpspray6 to tcpspray as it really is not IPv6 specific. Add tcpspray{4,6} as IPv{4,6}-specific aliases to tcpspray. ------------------------------------------------------------------------ r414 | remi | 2006-12-20 19:48:27 +0200 (Wed, 20 Dec 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am A /trunk/src/gen-alias Generate aliasing/shortcut scripts with an helper script. ------------------------------------------------------------------------ r413 | remi | 2006-12-18 14:21:37 +0200 (Mon, 18 Dec 2006) | 3 lines Changed paths: M /trunk/NEWS M /trunk/doc/rltraceroute6.8 M /trunk/src/traceroute.c - Take routing header overhead into account within the payload length. - Fix likely integer underflow if payload length was too small. ------------------------------------------------------------------------ r412 | remi | 2006-12-17 23:54:45 +0200 (Sun, 17 Dec 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c As iputils traceroute6, do not print numerical address in parenthesis when reverse DNS lookups are disabled ------------------------------------------------------------------------ r411 | remi | 2006-12-17 22:41:14 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Erase progress report entirely (missed the last dot) ------------------------------------------------------------------------ r410 | remi | 2006-12-17 22:33:36 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/NEWS Add some news for 0.9.0 ------------------------------------------------------------------------ r409 | remi | 2006-12-17 20:12:05 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src Fix svn:ignore ------------------------------------------------------------------------ r408 | remi | 2006-12-17 19:07:05 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Cleanup ICMPv6 types and codes handling ------------------------------------------------------------------------ r407 | remi | 2006-12-17 18:57:53 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Print !P in case of next header error ------------------------------------------------------------------------ r406 | remi | 2006-12-17 18:26:24 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Handle EPROTO properly ------------------------------------------------------------------------ r405 | remi | 2006-12-17 18:08:38 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Restore de TTY-only progress report and suppress debug informations ------------------------------------------------------------------------ r404 | remi | 2006-12-17 18:00:58 +0200 (Sun, 17 Dec 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c Print each hop data as soon as it is collected, rather than all at a time in the end ------------------------------------------------------------------------ r403 | remi | 2006-12-17 17:56:51 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Do not apply inter-probe delay after last probe ------------------------------------------------------------------------ r402 | remi | 2006-12-17 16:54:48 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/configure.ac Allow disabling assertions ------------------------------------------------------------------------ r401 | remi | 2006-12-17 16:54:33 +0200 (Sun, 17 Dec 2006) | 6 lines Changed paths: M /trunk/src/traceroute.c Send probes simultaneous in a diagonal pattern rather than vertical. Vertical (constant attempt number, increasing hop limit) is much faster, but it has severe problems with the "last" hop (= the final destination). As for the traditional horizontal order (constant hop limit), it has severe issues with ICMPv6 rate limiting. ------------------------------------------------------------------------ r400 | remi | 2006-12-17 12:40:45 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Improve progress report ------------------------------------------------------------------------ r399 | remi | 2006-12-17 12:38:28 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Remove debug messages ------------------------------------------------------------------------ r398 | remi | 2006-12-17 12:37:40 +0200 (Sun, 17 Dec 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c Parallel traceroute implementation. Unfortunately, finding the last hop does not work well ------------------------------------------------------------------------ r397 | remi | 2006-12-17 00:12:47 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Pass a deadline to receive probe rather than a timeout ------------------------------------------------------------------------ r396 | remi | 2006-12-17 00:06:16 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Revert [395] ------------------------------------------------------------------------ r395 | remi | 2006-12-17 00:01:22 +0200 (Sun, 17 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Support for receiving more than one probe per probe() call ------------------------------------------------------------------------ r394 | remi | 2006-12-16 23:52:29 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Cosmetic changes ------------------------------------------------------------------------ r393 | remi | 2006-12-16 23:49:56 +0200 (Sat, 16 Dec 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c - Disable currently broken EPROTO handling - Move RTT computation ------------------------------------------------------------------------ r392 | remi | 2006-12-16 23:43:59 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Separate functions to parse ICMPv6 and protocol packets ------------------------------------------------------------------------ r391 | remi | 2006-12-16 22:43:51 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Don't handle impossible condition ------------------------------------------------------------------------ r390 | remi | 2006-12-16 22:40:45 +0200 (Sat, 16 Dec 2006) | 3 lines Changed paths: M /trunk/src/trace-icmp.c M /trunk/src/trace-tcp.c M /trunk/src/trace-udp.c M /trunk/src/traceroute.c M /trunk/src/traceroute.h Always use (signed) integers to receive hop limits for consistency with POSIX and IETF specs ------------------------------------------------------------------------ r389 | remi | 2006-12-16 22:36:12 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Hide hop limit from receiver ------------------------------------------------------------------------ r388 | remi | 2006-12-16 22:28:20 +0200 (Sat, 16 Dec 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c Work around DNS resolution temporary failures: print the numerical hostname ------------------------------------------------------------------------ r387 | remi | 2006-12-16 22:25:43 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Fix progress report ------------------------------------------------------------------------ r386 | remi | 2006-12-16 22:17:31 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Add a rudimentary progress report ------------------------------------------------------------------------ r385 | remi | 2006-12-16 22:10:30 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Step 3: separate sending of probes from receiving ------------------------------------------------------------------------ r384 | remi | 2006-12-16 22:01:03 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Document tsdiff ------------------------------------------------------------------------ r383 | remi | 2006-12-16 21:22:13 +0200 (Sat, 16 Dec 2006) | 3 lines Changed paths: M /trunk/doc/rltraceroute6.8 M /trunk/src/traceroute.c - Wait for delay only between columns, rather than between every probes - Fix previous commit ------------------------------------------------------------------------ r382 | remi | 2006-12-16 21:00:58 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Send probes in column rather than in line ------------------------------------------------------------------------ r381 | remi | 2006-12-16 20:45:23 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c No longer assume probes with identical hop limit are sent consequently ------------------------------------------------------------------------ r380 | remi | 2006-12-16 20:30:10 +0200 (Sat, 16 Dec 2006) | 3 lines Changed paths: M /trunk/src/trace-icmp.c M /trunk/src/trace-tcp.c M /trunk/src/trace-udp.c M /trunk/src/traceroute.c M /trunk/src/traceroute.h Pass hop limit via ancilliary data instead of setsockopt, so that probes can be sent in arbitrary order ------------------------------------------------------------------------ r379 | remi | 2006-12-16 20:17:55 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Minor clean up ------------------------------------------------------------------------ r378 | remi | 2006-12-16 20:15:13 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Small source code inlining ------------------------------------------------------------------------ r377 | remi | 2006-12-16 20:11:19 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Store full socket address instead of IPv6 address ------------------------------------------------------------------------ r376 | remi | 2006-12-16 19:49:08 +0200 (Sat, 16 Dec 2006) | 4 lines Changed paths: M /trunk/src/traceroute.c Parallel traceroute, step 2: store result in table and use display function Now the problem, of course, is that traceroute is as slow as before, and does not print anything until the full traceroute is complete. ------------------------------------------------------------------------ r375 | remi | 2006-12-16 18:53:34 +0200 (Sat, 16 Dec 2006) | 2 lines Changed paths: M /trunk/configure.ac M /trunk/src/traceroute.c Parallel traceroute, step 1: rudimentary result printer ------------------------------------------------------------------------ r374 | remi | 2006-10-12 18:50:12 +0300 (Thu, 12 Oct 2006) | 2 lines Changed paths: M /trunk/doc/rltraceroute6.8 Update documentation ------------------------------------------------------------------------ r373 | remi | 2006-10-12 18:46:50 +0300 (Thu, 12 Oct 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c (Almost) follows LBL traceroute semantics for packet length paramater. ------------------------------------------------------------------------ r372 | remi | 2006-10-12 18:25:31 +0300 (Thu, 12 Oct 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/src/trace-tcp.c Support for modifying traceroute TCP probes size ------------------------------------------------------------------------ r371 | remi | 2006-10-11 22:03:32 +0300 (Wed, 11 Oct 2006) | 2 lines Changed paths: M /trunk/doc/rltraceroute6.8 Update documentation ------------------------------------------------------------------------ r370 | remi | 2006-10-11 21:56:40 +0300 (Wed, 11 Oct 2006) | 3 lines Changed paths: M /trunk/src/tcptraceroute.c M /trunk/src/traceroute.c Re-include support for source TCP specification via undocumented (read: subject to change, not to used externally) traceroute6 option. ------------------------------------------------------------------------ r369 | remi | 2006-10-11 21:51:17 +0300 (Wed, 11 Oct 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c traceroute6 always use iputils-style traceroute command line syntax. tcptraceroute6 consequently works properly. ------------------------------------------------------------------------ r368 | remi | 2006-10-11 21:49:07 +0300 (Wed, 11 Oct 2006) | 2 lines Changed paths: M /trunk/src/tcptraceroute.c Various fixes to previous commit ------------------------------------------------------------------------ r367 | remi | 2006-10-10 23:24:18 +0300 (Tue, 10 Oct 2006) | 3 lines Changed paths: M /trunk/src/Makefile.am A /trunk/src/tcptraceroute.c (from /trunk/src/traceroute.c:364) Make tcptraceroute6 a wrapper with tcptraceroute semantics that are partly incompatible with iputils traceroute ones. ------------------------------------------------------------------------ r366 | remi | 2006-10-10 22:00:06 +0300 (Tue, 10 Oct 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c traceroute6 accepts -F as documented ------------------------------------------------------------------------ r365 | remi | 2006-10-08 21:13:09 +0300 (Sun, 08 Oct 2006) | 2 lines Changed paths: M /trunk/configure.ac This is development trunk 0.7.4 ------------------------------------------------------------------------ r364 | remi | 2006-10-08 21:12:40 +0300 (Sun, 08 Oct 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Fix very unfortunate typo ------------------------------------------------------------------------ r360 | remi | 2006-10-08 20:19:23 +0300 (Sun, 08 Oct 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/src/traceroute.c Fix traceroute6 stopping at first non-responsive hop ------------------------------------------------------------------------ r359 | remi | 2006-10-08 20:06:22 +0300 (Sun, 08 Oct 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c C99 cleanup ------------------------------------------------------------------------ r358 | remi | 2006-10-08 20:03:52 +0300 (Sun, 08 Oct 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Some cleanup ------------------------------------------------------------------------ r357 | remi | 2006-10-08 19:48:42 +0300 (Sun, 08 Oct 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Work-around for OS missing IPV6_PKTINFO ------------------------------------------------------------------------ r356 | remi | 2006-10-07 18:55:34 +0300 (Sat, 07 Oct 2006) | 2 lines Changed paths: M /trunk/NEWS Document previous changeset ------------------------------------------------------------------------ r355 | remi | 2006-10-07 18:02:56 +0300 (Sat, 07 Oct 2006) | 2 lines Changed paths: M /trunk/src/addrinfo.c M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/traceroute.c Support for IDN within getaddrinfo() ------------------------------------------------------------------------ r354 | remi | 2006-10-07 14:48:01 +0300 (Sat, 07 Oct 2006) | 2 lines Changed paths: M /trunk/configure.ac M /trunk/src/Makefile.am Link each binary with librt manually as needed ------------------------------------------------------------------------ r353 | remi | 2006-10-07 14:38:51 +0300 (Sat, 07 Oct 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/doc/rltraceroute6.8 Document previous changeset ------------------------------------------------------------------------ r352 | remi | 2006-10-07 14:36:18 +0300 (Sat, 07 Oct 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c traceroute6 -l prints hop limit of received packets ------------------------------------------------------------------------ r350 | remi | 2006-10-07 11:31:42 +0300 (Sat, 07 Oct 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Smae as previous commit ------------------------------------------------------------------------ r349 | remi | 2006-10-07 11:29:34 +0300 (Sat, 07 Oct 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c Use SO_DONTROUTE instead of MSG_DONTROUTE (anyway, neither are implemented by the kernel) ------------------------------------------------------------------------ r348 | remi | 2006-10-06 20:52:54 +0300 (Fri, 06 Oct 2006) | 2 lines Changed paths: M /trunk/src/inet6rth.h Work-around for FreeBSD 4 ------------------------------------------------------------------------ r347 | remi | 2006-10-06 20:50:06 +0300 (Fri, 06 Oct 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Same syntax error ------------------------------------------------------------------------ r346 | remi | 2006-10-06 20:49:36 +0300 (Fri, 06 Oct 2006) | 2 lines Changed paths: M /trunk/src/inet6rth.h Syntax error ------------------------------------------------------------------------ r345 | remi | 2006-10-06 20:49:23 +0300 (Fri, 06 Oct 2006) | 2 lines Changed paths: M /trunk/Makefile.am Uninstall nameinfo.1 symlink ------------------------------------------------------------------------ r344 | remi | 2006-10-06 20:48:41 +0300 (Fri, 06 Oct 2006) | 2 lines Changed paths: M /trunk/configure.ac This is development version 0.7.3 ------------------------------------------------------------------------ r341 | remi | 2006-09-30 22:52:27 +0300 (Sat, 30 Sep 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am Fix BSD/make fix ------------------------------------------------------------------------ r340 | remi | 2006-09-30 22:50:39 +0300 (Sat, 30 Sep 2006) | 2 lines Changed paths: M /trunk/NEWS News for 0.7.2 ------------------------------------------------------------------------ r334 | remi | 2006-09-30 22:32:50 +0300 (Sat, 30 Sep 2006) | 2 lines Changed paths: M /trunk/doc/addrinfo.1 Fix obvious typo. ------------------------------------------------------------------------ r333 | remi | 2006-09-30 22:28:01 +0300 (Sat, 30 Sep 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am BSD/make build fix ------------------------------------------------------------------------ r332 | remi | 2006-09-30 22:21:21 +0300 (Sat, 30 Sep 2006) | 2 lines Changed paths: M /trunk/src/trace-udp.c FreeBSD compile fix ------------------------------------------------------------------------ r331 | remi | 2006-09-30 21:13:32 +0300 (Sat, 30 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Create raw sockets then drop root at the very beginning of the program. ------------------------------------------------------------------------ r330 | remi | 2006-09-30 19:24:11 +0300 (Sat, 30 Sep 2006) | 2 lines Changed paths: M /trunk/configure.ac This is development for release 0.7.2 ------------------------------------------------------------------------ r329 | remi | 2006-09-30 19:23:47 +0300 (Sat, 30 Sep 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c rt_segv does not really need to be initialized. Might save 1 or 2k in the binary depending on the format. ------------------------------------------------------------------------ r328 | remi | 2006-09-30 19:18:58 +0300 (Sat, 30 Sep 2006) | 3 lines Changed paths: M /trunk/src/ndisc.c When setuid, create the raw socket and drop root really as early as possible, so that we won't have a local root in case of command line parsing bug. ------------------------------------------------------------------------ r327 | remi | 2006-09-30 19:03:26 +0300 (Sat, 30 Sep 2006) | 3 lines Changed paths: M /trunk/src/ndisc.c Open a local non privileged socket for SIOCGIFHWADDR, instead of using an ugly global variable. ------------------------------------------------------------------------ r324 | remi | 2006-09-29 22:35:55 +0300 (Fri, 29 Sep 2006) | 2 lines Changed paths: M /trunk/NEWS Some news ------------------------------------------------------------------------ r322 | remi | 2006-09-29 22:29:13 +0300 (Fri, 29 Sep 2006) | 4 lines Changed paths: M /trunk/src/inet6rth.h M /trunk/src/traceroute.c Add FreeBSD/NetBSD defines for IPV6_TCLASS and IPV6_RTHDR. OpenBSD and DragonFly do not have the RFC3542 defines yet according to their CVSweb, so not added :( ------------------------------------------------------------------------ r321 | remi | 2006-09-29 22:16:43 +0300 (Fri, 29 Sep 2006) | 2 lines Changed paths: M /trunk/configure.ac M /trunk/src/inet6rth.h M /trunk/src/traceroute.c Really use the inet6_rth_* and IPV6_RTHDR work-around ------------------------------------------------------------------------ r320 | remi | 2006-09-29 22:04:37 +0300 (Fri, 29 Sep 2006) | 3 lines Changed paths: D /trunk/packages/debian/inet6_rth_add.c M /trunk/src/Makefile.am A /trunk/src/inet6rth.h (from /trunk/packages/debian/inet6_rth_add.c:319) Prepare to use inet6_rth_* replacement in the source tarball instead of just Debian ------------------------------------------------------------------------ r319 | remi | 2006-09-29 21:59:41 +0300 (Fri, 29 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Add warnings for IPV6_TCLASS and IPV6_RTHDR ------------------------------------------------------------------------ r318 | remi | 2006-09-29 21:56:33 +0300 (Fri, 29 Sep 2006) | 2 lines Changed paths: M /trunk/configure.ac This is development trunk for release 0.7.1 ------------------------------------------------------------------------ r317 | remi | 2006-09-29 21:56:01 +0300 (Fri, 29 Sep 2006) | 3 lines Changed paths: M /trunk/configure.ac Fix clock_nanosleep check... It was be as if it was never present! ------------------------------------------------------------------------ r316 | remi | 2006-09-29 20:59:40 +0300 (Fri, 29 Sep 2006) | 2 lines Changed paths: M /trunk/packages/debian/inet6_rth_add.c Cosmetic fix ------------------------------------------------------------------------ r315 | remi | 2006-09-28 19:14:50 +0300 (Thu, 28 Sep 2006) | 2 lines Changed paths: M /trunk/NEWS Oops, forgot to document addrinfo and nameinfo in NEWS - too late. ------------------------------------------------------------------------ r314 | remi | 2006-09-28 19:10:20 +0300 (Thu, 28 Sep 2006) | 2 lines Changed paths: M /trunk/packages/debian/inet6_rth_add.c Fix Debian IPV6_RTHDR work-around ------------------------------------------------------------------------ r313 | remi | 2006-09-28 18:50:00 +0300 (Thu, 28 Sep 2006) | 2 lines Changed paths: M /trunk/NEWS Forward port [311] ------------------------------------------------------------------------ r310 | remi | 2006-09-28 18:47:06 +0300 (Thu, 28 Sep 2006) | 2 lines Changed paths: A /trunk/packages/debian/inet6_rth_add.c Debian package for upcoming 0.7.0 ------------------------------------------------------------------------ r309 | remi | 2006-09-28 18:43:53 +0300 (Thu, 28 Sep 2006) | 2 lines Changed paths: M /trunk/NEWS News for release 0.7.0 ------------------------------------------------------------------------ r308 | remi | 2006-09-28 17:30:45 +0300 (Thu, 28 Sep 2006) | 2 lines Changed paths: M /trunk/doc/rltraceroute6.8 Document -g option (source routing) ------------------------------------------------------------------------ r307 | remi | 2006-09-27 23:05:01 +0300 (Wed, 27 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c traceroute6 support for Type 0 Routing Header, i.e. IPv6 source routing ------------------------------------------------------------------------ r306 | remi | 2006-09-27 22:04:21 +0300 (Wed, 27 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Cosmetic reordering ------------------------------------------------------------------------ r305 | remi | 2006-09-27 20:44:50 +0300 (Wed, 27 Sep 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/trace-icmp.c M /trunk/src/trace-tcp.c M /trunk/src/trace-udp.c M /trunk/src/traceroute.c M /trunk/src/traceroute.h Use ssize_t instead of int when needed ------------------------------------------------------------------------ r304 | remi | 2006-09-27 20:29:31 +0300 (Wed, 27 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Add a comment for readability (hopefully) ------------------------------------------------------------------------ r303 | remi | 2006-09-27 20:28:53 +0300 (Wed, 27 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c traceroute6 now skips IPv6 extension headers within ICMPv6 errors payloads ------------------------------------------------------------------------ r301 | remi | 2006-09-25 20:18:13 +0300 (Mon, 25 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Remove dummy comment ------------------------------------------------------------------------ r300 | remi | 2006-09-25 19:58:02 +0300 (Mon, 25 Sep 2006) | 2 lines Changed paths: M /trunk/doc/rltraceroute6.8 Linux kernel 2.6.18 has fixed support for -t ------------------------------------------------------------------------ r299 | remi | 2006-09-25 19:55:51 +0300 (Mon, 25 Sep 2006) | 5 lines Changed paths: M /trunk/src/traceroute.c Use standard API for outgoing interface setting This is not Linux-specific anymore, but that does not mean it is going to work any better (actually neither standard and non-standard methods work on Linux 2.6.18) ------------------------------------------------------------------------ r295 | remi | 2006-09-13 21:17:36 +0300 (Wed, 13 Sep 2006) | 2 lines Changed paths: M /trunk/Makefile.am A /trunk/doc/addrinfo.1 (from /trunk/doc/dnssort.1:294) M /trunk/src/addrinfo.c Add documentation for addrinfo ------------------------------------------------------------------------ r294 | remi | 2006-09-13 21:04:19 +0300 (Wed, 13 Sep 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am A /trunk/src/addrinfo.c Add addrinfo and nameinfo scripting tools ------------------------------------------------------------------------ r293 | remi | 2006-09-13 21:03:54 +0300 (Wed, 13 Sep 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c M /trunk/src/traceroute.c Add missing const qualifier ------------------------------------------------------------------------ r291 | remi | 2006-09-13 17:45:39 +0300 (Wed, 13 Sep 2006) | 2 lines Changed paths: M /trunk/doc/dnssort.1 M /trunk/src/dnssort.in Use getopt from Perl - big simplification ------------------------------------------------------------------------ r290 | remi | 2006-09-12 23:24:41 +0300 (Tue, 12 Sep 2006) | 2 lines Changed paths: M /trunk/Makefile.am A /trunk/doc/dnssort.1 Manual page for dnssort ------------------------------------------------------------------------ r289 | remi | 2006-09-12 23:23:57 +0300 (Tue, 12 Sep 2006) | 3 lines Changed paths: M /trunk/src/dnssort.in dnssport supports file names from the command line (yeah almost complete rewrite!) ------------------------------------------------------------------------ r288 | remi | 2006-09-12 23:06:06 +0300 (Tue, 12 Sep 2006) | 2 lines Changed paths: M /trunk/src/dnssort.in Implement dnssort --reverse ------------------------------------------------------------------------ r287 | remi | 2006-09-12 22:43:10 +0300 (Tue, 12 Sep 2006) | 2 lines Changed paths: M /trunk/configure.ac M /trunk/src/dnssort.in Look for Perl interpreter (don't assume it is in /usr/bin) ------------------------------------------------------------------------ r286 | remi | 2006-09-12 22:36:25 +0300 (Tue, 12 Sep 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/configure.ac M /trunk/src M /trunk/src/Makefile.am A /trunk/src/dnssort.in Add dnssort ------------------------------------------------------------------------ r285 | remi | 2006-09-06 19:46:20 +0300 (Wed, 06 Sep 2006) | 2 lines Changed paths: M /trunk/configure.ac Bump version number ------------------------------------------------------------------------ r282 | remi | 2006-09-06 18:36:57 +0300 (Wed, 06 Sep 2006) | 2 lines Changed paths: M /trunk/NEWS News for release 0.6.8 ------------------------------------------------------------------------ r281 | remi | 2006-09-06 18:34:43 +0300 (Wed, 06 Sep 2006) | 3 lines Changed paths: M /trunk/src/tcpspray.c Fix duration and bandwidth values from tcpspray6: the start time was not withdrawn from the end time. ------------------------------------------------------------------------ r280 | remi | 2006-09-03 22:19:48 +0300 (Sun, 03 Sep 2006) | 3 lines Changed paths: M /trunk/src/gettime.h M /trunk/src/ndisc.c M /trunk/src/tcpspray.c M /trunk/src/traceroute.c - s/gettime/mono_gettime/g - add mono_nanosleep wrapper for monotonic clock nanosleep ------------------------------------------------------------------------ r279 | remi | 2006-09-03 22:11:17 +0300 (Sun, 03 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Revert previous commit. I need more sleep. ------------------------------------------------------------------------ r278 | remi | 2006-09-03 22:09:17 +0300 (Sun, 03 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Remaining unwrapped clock_gettime (CLOCK_MONOTONIC) call ------------------------------------------------------------------------ r277 | remi | 2006-09-03 22:05:19 +0300 (Sun, 03 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Packet parsing code factorization ------------------------------------------------------------------------ r276 | remi | 2006-09-03 21:57:40 +0300 (Sun, 03 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.h Create typedefs for callbacks ------------------------------------------------------------------------ r275 | remi | 2006-09-03 21:53:07 +0300 (Sun, 03 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Kill useless variable ------------------------------------------------------------------------ r274 | remi | 2006-09-03 21:52:53 +0300 (Sun, 03 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Some cleanup - should ease source routing support later ------------------------------------------------------------------------ r273 | remi | 2006-09-03 19:04:21 +0300 (Sun, 03 Sep 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c Fix amd64 compiler warning ------------------------------------------------------------------------ r272 | remi | 2006-09-01 22:56:48 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am A /trunk/src/trace-icmp.c (from /trunk/src/traceroute.c:271) M /trunk/src/traceroute.c And ICMPv6-specific is now separated too ------------------------------------------------------------------------ r271 | remi | 2006-09-01 22:53:46 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Remove useless #include ------------------------------------------------------------------------ r270 | remi | 2006-09-01 22:53:28 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c No need BSD semantics in traceroute core ------------------------------------------------------------------------ r269 | remi | 2006-09-01 22:52:50 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am M /trunk/src/trace-tcp.c A /trunk/src/trace-udp.c (from /trunk/src/traceroute.c:268) M /trunk/src/traceroute.c Separate UDP code ------------------------------------------------------------------------ r268 | remi | 2006-09-01 22:48:30 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/trace-tcp.c M /trunk/src/traceroute.c M /trunk/src/traceroute.h Cosmetic ------------------------------------------------------------------------ r267 | remi | 2006-09-01 22:44:28 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/trace-tcp.c Remove many useless headers ------------------------------------------------------------------------ r266 | remi | 2006-09-01 22:42:30 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am A /trunk/src/trace-tcp.c (from /trunk/src/traceroute.c:265) M /trunk/src/traceroute.c M /trunk/src/traceroute.h Separate TCP code from main ------------------------------------------------------------------------ r265 | remi | 2006-09-01 22:36:29 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am M /trunk/src/traceroute.c A /trunk/src/traceroute.h (from /trunk/src/traceroute.c:264) Create traceroute.h, first step toward splitted traceroute source ------------------------------------------------------------------------ r263 | remi | 2006-09-01 20:27:53 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/doc/rltraceroute6.8 M /trunk/src/traceroute.c Document option -t and ignore it if not supported ------------------------------------------------------------------------ r262 | remi | 2006-09-01 18:54:13 +0300 (Fri, 01 Sep 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Add -t traceroute6 option to set Traffic Class ------------------------------------------------------------------------ r261 | remi | 2006-08-31 21:03:51 +0300 (Thu, 31 Aug 2006) | 2 lines Changed paths: M /trunk/configure.ac Fix configure invocation in version infos ------------------------------------------------------------------------ r260 | remi | 2006-08-31 20:31:27 +0300 (Thu, 31 Aug 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Cleanup ------------------------------------------------------------------------ r259 | remi | 2006-08-31 20:20:09 +0300 (Thu, 31 Aug 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c - Make sure errno is not overriden before perror() - Make errno always contain an error code before calling perror() ------------------------------------------------------------------------ r258 | remi | 2006-08-31 20:08:19 +0300 (Thu, 31 Aug 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Really cosmetic fix ------------------------------------------------------------------------ r257 | remi | 2006-08-31 20:07:57 +0300 (Thu, 31 Aug 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Minor cosmetic changes ------------------------------------------------------------------------ r256 | remi | 2006-08-27 11:23:25 +0300 (Sun, 27 Aug 2006) | 2 lines Changed paths: A /trunk/autogen.sh (from /trunk/bootstrap:255) D /trunk/bootstrap M /trunk/src/ndisc.c M /trunk/src/traceroute.c (Unlikely to ever be triggered) fixes for -Wundef ------------------------------------------------------------------------ r255 | remi | 2006-08-21 22:01:34 +0300 (Mon, 21 Aug 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c use inttypes.h instead of stdint.h ------------------------------------------------------------------------ r254 | remi | 2006-08-17 18:14:47 +0300 (Thu, 17 Aug 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c BSD compile fix ------------------------------------------------------------------------ r253 | remi | 2006-08-17 18:14:35 +0300 (Thu, 17 Aug 2006) | 2 lines Changed paths: M /trunk/configure.ac Development trunk for version 0.6.8 ------------------------------------------------------------------------ r249 | remi | 2006-08-12 22:50:55 +0300 (Sat, 12 Aug 2006) | 3 lines Changed paths: M /trunk/NEWS M /trunk/src/tcpspray.c Fix for old FreeBSD adapted from its ports tree (original author: Shaun Amott) ------------------------------------------------------------------------ r248 | remi | 2006-08-03 19:36:58 +0300 (Thu, 03 Aug 2006) | 5 lines Changed paths: M /trunk/src/ndisc.c Check hop limit of neighbor advertisement: they must be 255, which proves they weren't routed. In a way, this is a security fix to {n,r}disc6 (though the bug has been known for a long time) ------------------------------------------------------------------------ r247 | remi | 2006-08-03 18:41:26 +0300 (Thu, 03 Aug 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c More C99 cosmetics ------------------------------------------------------------------------ r246 | remi | 2006-08-03 18:10:42 +0300 (Thu, 03 Aug 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c M /trunk/src/traceroute.c C99 cosmetics ------------------------------------------------------------------------ r245 | remi | 2006-08-03 18:06:21 +0300 (Thu, 03 Aug 2006) | 2 lines Changed paths: M /trunk/configure.ac Development trunk 0.6.7 ------------------------------------------------------------------------ r234 | remi | 2006-07-12 21:06:26 +0300 (Wed, 12 Jul 2006) | 2 lines Changed paths: M /trunk/NEWS News for release 0.6.6 ------------------------------------------------------------------------ r233 | remi | 2006-07-12 21:03:32 +0300 (Wed, 12 Jul 2006) | 2 lines Changed paths: D /trunk/debian A /trunk/packages A /trunk/packages/debian (from /trunk/debian:232) Move debian/ to packages/debian/ ------------------------------------------------------------------------ r232 | remi | 2006-07-12 21:02:18 +0300 (Wed, 12 Jul 2006) | 2 lines Changed paths: M /trunk/configure.ac This is development trunk for version 0.6.6 ------------------------------------------------------------------------ r231 | remi | 2006-07-12 21:01:57 +0300 (Wed, 12 Jul 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c Compile fix for FreeBSD ------------------------------------------------------------------------ r229 | remi | 2006-07-07 18:12:36 +0300 (Fri, 07 Jul 2006) | 2 lines Changed paths: M /trunk/debian D /trunk/debian/docs Switch to CDBS ------------------------------------------------------------------------ r228 | remi | 2006-07-07 18:12:27 +0300 (Fri, 07 Jul 2006) | 2 lines Changed paths: M /trunk/src Update svn:ignore ------------------------------------------------------------------------ r225 | remi | 2006-06-05 20:17:01 +0300 (Mon, 05 Jun 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Remove debug message ------------------------------------------------------------------------ r224 | remi | 2006-06-05 19:49:48 +0300 (Mon, 05 Jun 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Switch traceroute to the monotonic clock too. ------------------------------------------------------------------------ r223 | remi | 2006-06-05 19:49:22 +0300 (Mon, 05 Jun 2006) | 3 lines Changed paths: M /trunk/src/gettime.h Use correct clock frequency for times() Unfortunately, this yields very imprecise results. ------------------------------------------------------------------------ r222 | remi | 2006-06-05 19:06:56 +0300 (Mon, 05 Jun 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am Include gettime.h in tarball ------------------------------------------------------------------------ r221 | remi | 2006-06-05 19:05:48 +0300 (Mon, 05 Jun 2006) | 2 lines Changed paths: M /trunk/configure.ac Cheap clock_nanosleep replacement ------------------------------------------------------------------------ r220 | remi | 2006-06-05 19:03:37 +0300 (Mon, 05 Jun 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/configure.ac M /trunk/src/Makefile.am M /trunk/src/tcpspray.c M /trunk/src/traceroute.c Use AC_USE_SYSTEM_EXTENSIONS ------------------------------------------------------------------------ r219 | remi | 2006-06-05 19:01:55 +0300 (Mon, 05 Jun 2006) | 3 lines Changed paths: A /trunk/src/gettime.h M /trunk/src/ndisc.c M /trunk/src/tcpspray.c - Commoditize gettime() wrapper - Use monotonic clock within tcpspray ------------------------------------------------------------------------ r218 | remi | 2006-06-05 18:37:11 +0300 (Mon, 05 Jun 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Use a monotonic time source within (n|r)disc6. ------------------------------------------------------------------------ r216 | remi | 2006-06-03 21:28:39 +0300 (Sat, 03 Jun 2006) | 2 lines Changed paths: M /trunk/NEWS A /trunk/debian A /trunk/debian/docs Debian packaging metadata. ------------------------------------------------------------------------ r215 | remi | 2006-06-03 21:06:19 +0300 (Sat, 03 Jun 2006) | 2 lines Changed paths: M /trunk/doc/ndisc6.8 M /trunk/doc/rdisc6.8 M /trunk/doc/rltraceroute6.8 M /trunk/doc/tcpspray6.1 manpages: Encode all non-ASCII charset properly ------------------------------------------------------------------------ r214 | remi | 2006-06-03 11:00:17 +0300 (Sat, 03 Jun 2006) | 2 lines Changed paths: M /trunk/README Cosmetic ------------------------------------------------------------------------ r213 | remi | 2006-06-02 23:15:06 +0300 (Fri, 02 Jun 2006) | 2 lines Changed paths: M /trunk/configure.ac M /trunk/src/Makefile.am Use Autoconf check for C99 ------------------------------------------------------------------------ r211 | remi | 2006-05-07 14:08:19 +0300 (Sun, 07 May 2006) | 2 lines Changed paths: M /trunk/NEWS News for 0.6.3 ------------------------------------------------------------------------ r210 | remi | 2006-05-07 11:27:43 +0300 (Sun, 07 May 2006) | 2 lines Changed paths: M /trunk/README Update README ------------------------------------------------------------------------ r209 | remi | 2006-05-07 11:25:08 +0300 (Sun, 07 May 2006) | 2 lines Changed paths: M /trunk/doc/rltraceroute6.8 traceroute6 -> rltraceroute6 ------------------------------------------------------------------------ r208 | remi | 2006-05-07 11:24:39 +0300 (Sun, 07 May 2006) | 2 lines Changed paths: M /trunk/Makefile.am Fix make uninstall ------------------------------------------------------------------------ r207 | remi | 2006-05-07 11:15:51 +0300 (Sun, 07 May 2006) | 2 lines Changed paths: M /trunk/Makefile.am A /trunk/doc/rltraceroute6.8 (from /trunk/doc/traceroute6.8:206) D /trunk/doc/traceroute6.8 M /trunk/src/Makefile.am Rename traceroute6 to rltraceroute6 to avoid conflict with iputils ------------------------------------------------------------------------ r206 | remi | 2006-05-07 10:50:52 +0300 (Sun, 07 May 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am Make the wrapper scripts relocatable ------------------------------------------------------------------------ r205 | remi | 2006-05-07 10:50:11 +0300 (Sun, 07 May 2006) | 2 lines Changed paths: M /trunk/configure.ac Version 0.6.3 ------------------------------------------------------------------------ r204 | remi | 2006-05-07 09:25:10 +0300 (Sun, 07 May 2006) | 2 lines Changed paths: M /trunk/doc/traceroute6.8 Document tracert6. ------------------------------------------------------------------------ r203 | remi | 2006-05-07 09:21:33 +0300 (Sun, 07 May 2006) | 3 lines Changed paths: M /trunk/src/Makefile.am - Handle parameters with white space properly in tcptraceroute6 wrapper - Add Windows-like tracert6 wrapper with ICMPv6 as default mode ------------------------------------------------------------------------ r201 | remi | 2006-05-02 14:10:33 +0300 (Tue, 02 May 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/configure.ac Upcoming release is 0.6.2 ------------------------------------------------------------------------ r200 | remi | 2006-05-02 13:58:35 +0300 (Tue, 02 May 2006) | 3 lines Changed paths: M /trunk/Makefile.am Fix installation of tcptraceroute.8 as a symlink. Bug noticed while having a look at Dries Verachtert?\226?\128?\153s ndisc6.spec. ------------------------------------------------------------------------ r199 | remi | 2006-05-01 20:09:07 +0300 (Mon, 01 May 2006) | 2 lines Changed paths: M /trunk/Makefile.am Make sure svn log does not ask questions ------------------------------------------------------------------------ r198 | remi | 2006-05-01 00:15:35 +0300 (Mon, 01 May 2006) | 2 lines Changed paths: M /trunk/NEWS News for upcoming release 0.6.2 ------------------------------------------------------------------------ r197 | remi | 2006-04-30 19:40:03 +0300 (Sun, 30 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am Don't ignore failure when generating ChangeLog ------------------------------------------------------------------------ r196 | remi | 2006-04-30 11:16:38 +0300 (Sun, 30 Apr 2006) | 2 lines Changed paths: M /trunk/doc/traceroute6.8 Update documented BUGS ------------------------------------------------------------------------ r195 | remi | 2006-04-30 11:07:58 +0300 (Sun, 30 Apr 2006) | 2 lines Changed paths: M /trunk/doc/traceroute6.8 M /trunk/src/traceroute.c Support traceroute6 -z to wait between each probes ------------------------------------------------------------------------ r194 | remi | 2006-04-29 23:44:38 +0300 (Sat, 29 Apr 2006) | 7 lines Changed paths: M /trunk/doc/traceroute6.8 M /trunk/src/traceroute.c - Support traceroute6 -p to specify base UDP port (this was no longer possible since when the last parameter was turned into a packet byte length) - Support tcptraceroute6 to override source TCP port - Document (tcp)traceroute6 -p option - Note that TCP port 0 is actually TCP port 0 ------------------------------------------------------------------------ r193 | remi | 2006-04-29 23:19:53 +0300 (Sat, 29 Apr 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c Finally parse the last parameter as a packet length for ICMP and UDP probes, instead of as a destination port number ------------------------------------------------------------------------ r192 | remi | 2006-04-29 23:05:57 +0300 (Sat, 29 Apr 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c Don't print destination port number when using ICMP which has no port numbers ------------------------------------------------------------------------ r191 | remi | 2006-04-29 23:01:02 +0300 (Sat, 29 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Internal support for customized source port ------------------------------------------------------------------------ r190 | remi | 2006-04-29 22:53:48 +0300 (Sat, 29 Apr 2006) | 4 lines Changed paths: M /trunk/src/traceroute.c Internal support for various size of UDP and ICMP probes (not yet available to user). ICMPv6 Echo probes now pass through my 6to4 relay's firewall. ------------------------------------------------------------------------ r189 | remi | 2006-04-28 23:46:51 +0300 (Fri, 28 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Solaris compile fix ------------------------------------------------------------------------ r188 | remi | 2006-04-28 23:30:10 +0300 (Fri, 28 Apr 2006) | 5 lines Changed paths: M /trunk/src/traceroute.c Fix traceroute time out - it was broken by the previous commit on Linux - it never worked properly on BSD, as it used to assume that select() updated the struct timeval upon return. ------------------------------------------------------------------------ r187 | remi | 2006-04-28 23:23:34 +0300 (Fri, 28 Apr 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c Also switch traceroute to poll() TODO: fix timeout ------------------------------------------------------------------------ r186 | remi | 2006-04-28 23:18:01 +0300 (Fri, 28 Apr 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Set close-on-exec flag ------------------------------------------------------------------------ r185 | remi | 2006-04-28 23:15:47 +0300 (Fri, 28 Apr 2006) | 3 lines Changed paths: M /trunk/src/ndisc.c ndisc: Use poll() instead of select() to simplify code and get rid of the FD_SETSIZE issues ------------------------------------------------------------------------ r184 | remi | 2006-04-26 23:15:21 +0300 (Wed, 26 Apr 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c M /trunk/src/traceroute.c Compile fix ------------------------------------------------------------------------ r183 | remi | 2006-04-26 23:13:25 +0300 (Wed, 26 Apr 2006) | 5 lines Changed paths: M /trunk/src/ndisc.c M /trunk/src/traceroute.c For SetUID programs, make sure raw sockets are always: - above 2 (so that we can't be tricked into writing crap to sockets through STDOUT/STDERR) - below FD_SETSIZE so that FD_SET does not overflow. ------------------------------------------------------------------------ r182 | remi | 2006-04-26 20:00:34 +0300 (Wed, 26 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am Make sure the ChangeLog is updated via make dist ------------------------------------------------------------------------ r181 | remi | 2006-04-26 19:58:23 +0300 (Wed, 26 Apr 2006) | 2 lines Changed paths: M /trunk/src Add missing svn:ignore entry ------------------------------------------------------------------------ r180 | remi | 2006-04-26 17:54:53 +0300 (Wed, 26 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Remove extra one time debug code ------------------------------------------------------------------------ r179 | remi | 2006-04-26 17:22:40 +0300 (Wed, 26 Apr 2006) | 5 lines Changed paths: M /trunk/doc/traceroute6.8 M /trunk/src/traceroute.c Support (tcp)traceroute6 -i Unfortunately, the Linux kernel ignores SO_BINDTODEVICE (much like MSG_DONTROUTE) on raw IPv6 sockets. iputils traceroute6 has the same bug. ------------------------------------------------------------------------ r178 | remi | 2006-04-26 14:37:01 +0300 (Wed, 26 Apr 2006) | 2 lines Changed paths: M /trunk/doc/traceroute6.8 M /trunk/src/traceroute.c support traceroute6 -d (SO_DEBUG) ------------------------------------------------------------------------ r177 | remi | 2006-04-26 11:07:29 +0300 (Wed, 26 Apr 2006) | 2 lines Changed paths: M /trunk/doc/traceroute6.8 M /trunk/src/traceroute.c Support tcptraceroute6 -E to emit ECN-setup SYN probes ------------------------------------------------------------------------ r176 | remi | 2006-04-26 00:46:16 +0300 (Wed, 26 Apr 2006) | 6 lines Changed paths: M /trunk/doc/traceroute6.8 M /trunk/src/traceroute.c - support traceroute6 -r (DONTROUTE, but Linux ignores that) - support tcptraceroute6 -N (as the opposite of -n, maybe we should differenciate private addresses as IPv4/tcptraceroute ?) - ignore traceroute6 -F - ingore traceroute6 -x ------------------------------------------------------------------------ r175 | remi | 2006-04-25 23:38:05 +0300 (Tue, 25 Apr 2006) | 4 lines Changed paths: M /trunk/src/traceroute.c - Set proper ICMPv6 filter for ping socket - Factorize fcntl() - Set SO_REUSEADDR (probably useless, but not an error) ------------------------------------------------------------------------ r174 | remi | 2006-04-25 21:42:45 +0300 (Tue, 25 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Cosmetic changes ------------------------------------------------------------------------ r173 | remi | 2006-04-25 21:36:13 +0300 (Tue, 25 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Would-be thread-safety fix, clean up ------------------------------------------------------------------------ r172 | remi | 2006-04-25 19:58:05 +0300 (Tue, 25 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Fix minor boundary check problem ------------------------------------------------------------------------ r171 | remi | 2006-04-25 19:46:41 +0300 (Tue, 25 Apr 2006) | 2 lines Changed paths: M /trunk/doc/traceroute6.8 M /trunk/src/traceroute.c traceroute support for sending ICMPv6 Echo request probes ------------------------------------------------------------------------ r170 | remi | 2006-04-25 18:51:55 +0300 (Tue, 25 Apr 2006) | 3 lines Changed paths: M /trunk/src/traceroute.c - Add one long option for each short one - Add comment about some unimplemented options ------------------------------------------------------------------------ r169 | remi | 2006-04-25 18:36:46 +0300 (Tue, 25 Apr 2006) | 2 lines Changed paths: M /trunk/configure.ac Version 0.6.1-svn ------------------------------------------------------------------------ r167 | remi | 2006-04-24 13:07:14 +0300 (Mon, 24 Apr 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/README Added tcpspray6 to the documentation ------------------------------------------------------------------------ r165 | remi | 2006-04-23 15:55:34 +0300 (Sun, 23 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am Include tcpspray6.1 in tarball ------------------------------------------------------------------------ r164 | remi | 2006-04-23 15:55:17 +0300 (Sun, 23 Apr 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am Fix distclean ------------------------------------------------------------------------ r163 | remi | 2006-04-23 15:53:29 +0300 (Sun, 23 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am A /trunk/doc/tcpspray6.1 M /trunk/src/tcpspray.c Man page for tcpspray6 ------------------------------------------------------------------------ r162 | remi | 2006-04-23 12:37:30 +0300 (Sun, 23 Apr 2006) | 5 lines Changed paths: M /trunk/src/Makefile.am Instead of installing everything into $(prefix)/sbin: - install setuid programs in .../bin unless setuid is disabled, - otherwise install privilege-needing programs in .../sbin, - always install non-privileged programs in .../bin. ------------------------------------------------------------------------ r161 | remi | 2006-04-21 19:58:37 +0300 (Fri, 21 Apr 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am Fix tcptraceroute6 dependencies ------------------------------------------------------------------------ r160 | remi | 2006-04-21 19:50:10 +0300 (Fri, 21 Apr 2006) | 2 lines Changed paths: M /trunk/configure.ac Check for nanosleep in -lrt (Solaris) ------------------------------------------------------------------------ r159 | remi | 2006-04-21 00:51:27 +0300 (Fri, 21 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am Attempt to fix make dist from svn export ------------------------------------------------------------------------ r158 | remi | 2006-04-21 00:46:42 +0300 (Fri, 21 Apr 2006) | 3 lines Changed paths: M /trunk/Makefile.am Do not force build of stamp-svn - it will be built automatically when needed (which means when calling make dist) ------------------------------------------------------------------------ r157 | remi | 2006-04-21 00:42:14 +0300 (Fri, 21 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am Build fix ------------------------------------------------------------------------ r156 | remi | 2006-04-21 00:29:52 +0300 (Fri, 21 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/bootstrap Fix automake warnings ------------------------------------------------------------------------ r155 | remi | 2006-04-21 00:21:12 +0300 (Fri, 21 Apr 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c M /trunk/src/traceroute.c OpenBSD compilation fixes ------------------------------------------------------------------------ r154 | remi | 2006-04-20 17:38:52 +0300 (Thu, 20 Apr 2006) | 4 lines Changed paths: M /trunk/src/tcpspray.c -f tcpspray command line option to read block content from a file This is now a feature-wise full tcpspray rewrite, let alone the lack of manual page. ------------------------------------------------------------------------ r153 | remi | 2006-04-20 17:25:23 +0300 (Thu, 20 Apr 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c Support for (useless?) ?\194?\181sec delay tcpspray option ------------------------------------------------------------------------ r152 | remi | 2006-04-20 15:10:51 +0300 (Thu, 20 Apr 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c Fix error handling in Echo mode ------------------------------------------------------------------------ r151 | remi | 2006-04-20 15:08:24 +0300 (Thu, 20 Apr 2006) | 3 lines Changed paths: M /trunk/src/tcpspray.c - Implement Echo protocol support (command line optino -e) - Some clean up ------------------------------------------------------------------------ r150 | remi | 2006-04-20 14:18:35 +0300 (Thu, 20 Apr 2006) | 3 lines Changed paths: M /trunk/src/tcpspray.c Require a hostname to tcpspray. Using localhost by default instead of printing an error is confusing. ------------------------------------------------------------------------ r149 | remi | 2006-04-20 14:12:18 +0300 (Thu, 20 Apr 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c Add option -n to specify number of blocks to send ------------------------------------------------------------------------ r148 | remi | 2006-04-20 14:01:49 +0300 (Thu, 20 Apr 2006) | 2 lines Changed paths: M /trunk/src/tcpspray.c tcpspray6 -b option to customize blocks size ------------------------------------------------------------------------ r147 | remi | 2006-04-20 00:20:33 +0300 (Thu, 20 Apr 2006) | 4 lines Changed paths: M /trunk/src/tcpspray.c Add genuine though rudimentary command line options to tcpspray6. It still misses most option from the original tcpspray (and it also lacks a manual page). ------------------------------------------------------------------------ r146 | remi | 2006-04-19 23:31:40 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am A /trunk/src/tcpspray.c Preliminary complete rewrite dual-stack of Greg Christy's tcpspray ------------------------------------------------------------------------ r145 | remi | 2006-04-19 19:37:52 +0300 (Wed, 19 Apr 2006) | 3 lines Changed paths: M /trunk/configure.ac M /trunk/src/ndisc.c M /trunk/src/traceroute.c More comprehensive version informations. Updated copyright information. ------------------------------------------------------------------------ r144 | remi | 2006-04-19 19:26:42 +0300 (Wed, 19 Apr 2006) | 3 lines Changed paths: R /trunk/m4/getopt.m4 R /trunk/m4/sockaddr.m4 Hmm hmm, these files were commited as links from the tcpreen trunk. ndisc6 must not depend on tcpreen... add them as real files. ------------------------------------------------------------------------ r143 | remi | 2006-04-19 19:25:31 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: A /trunk/m4/hostname.m4 M4 macro that's going to be needed ------------------------------------------------------------------------ r142 | remi | 2006-04-19 19:15:20 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/AUTHORS M /trunk/Makefile.am M /trunk/bootstrap M /trunk/configure.ac M /trunk/doc/ndisc6.8 M /trunk/doc/rdisc6.8 M /trunk/doc/traceroute6.8 M /trunk/m4/Makefile.am M /trunk/m4/getopt.m4 M /trunk/m4/sockaddr.m4 M /trunk/src/Makefile.am Define/Uniformize SVN properties ------------------------------------------------------------------------ r141 | remi | 2006-04-19 19:13:14 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/NEWS M /trunk/README Everything works on BSD now ------------------------------------------------------------------------ r140 | remi | 2006-04-19 18:13:44 +0300 (Wed, 19 Apr 2006) | 4 lines Changed paths: M /trunk/configure.ac M /trunk/src/Makefile.am - Enable setuid bit on installed programs by default, - Add a --disable-suid-install option to not annoy would-be paranoid^H^H^H^H^H^H^H^Hsuspicious packagers ------------------------------------------------------------------------ r139 | remi | 2006-04-19 18:00:29 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am Symlink tcptraceroute6.8 to traceroute6.8 ------------------------------------------------------------------------ r138 | remi | 2006-04-19 17:24:56 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am Fix ChangeLog build rules ------------------------------------------------------------------------ r137 | remi | 2006-04-19 17:09:56 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk M /trunk/Makefile.am Autobuild ChangeLog from SVN ------------------------------------------------------------------------ r136 | remi | 2006-04-19 16:49:53 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am Fix make distcheck ------------------------------------------------------------------------ r135 | remi | 2006-04-19 16:48:42 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Support some long options ------------------------------------------------------------------------ r134 | remi | 2006-04-19 16:48:34 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Terminate long options list properly ------------------------------------------------------------------------ r133 | remi | 2006-04-19 16:37:11 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/doc/traceroute6.8 Document option -U ------------------------------------------------------------------------ r132 | remi | 2006-04-19 16:35:54 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Do no longer use argv[0] to determine default probe packets type. ------------------------------------------------------------------------ r131 | remi | 2006-04-19 16:31:31 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Fix check for ioctl(SIOCGIFHWADDR) ------------------------------------------------------------------------ r130 | remi | 2006-04-19 16:30:20 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Fix ordering of memcpy's while crafting a Neighbor Solicitation ------------------------------------------------------------------------ r129 | remi | 2006-04-19 16:25:21 +0300 (Wed, 19 Apr 2006) | 3 lines Changed paths: M /trunk/src/ndisc.c Do not send source lladdr option on operating systems where ndisc6 doesn't know (yet) of two determine the MAC address of an interface. ------------------------------------------------------------------------ r128 | remi | 2006-04-19 13:42:44 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/ndisc.c Solaris compile fix ------------------------------------------------------------------------ r127 | remi | 2006-04-19 13:36:06 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/traceroute.c Same as previous commit, for traceroute ------------------------------------------------------------------------ r126 | remi | 2006-04-19 13:34:34 +0300 (Wed, 19 Apr 2006) | 3 lines Changed paths: M /trunk/src/ndisc.c Print --help usage infos on stdout rather than stderr as other program do ------------------------------------------------------------------------ r125 | remi | 2006-04-19 12:42:19 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: A /trunk/bootstrap Bootstrap SVN script ------------------------------------------------------------------------ r124 | remi | 2006-04-19 12:39:37 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk M /trunk/admin M /trunk/m4 M /trunk/src svn:ignore rewrite ------------------------------------------------------------------------ r123 | remi | 2006-04-19 12:36:00 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/configure.ac M /trunk/src/ndisc.c M /trunk/src/traceroute.c Handle non-gettext entirely from config.h ------------------------------------------------------------------------ r122 | remi | 2006-04-19 12:32:18 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/src/Makefile.am Put full path to traceroute6 in the tcptraceroute6 wrapper ------------------------------------------------------------------------ r121 | remi | 2006-04-19 12:30:58 +0300 (Wed, 19 Apr 2006) | 3 lines Changed paths: M /trunk/src/Makefile.am Rewrite tcptraceroute6 as a trivial shell script around traceroute6 instead of a symlink ------------------------------------------------------------------------ r120 | remi | 2006-04-19 12:26:39 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile.am M /trunk/NEWS M /trunk/configure.ac Include man pages in the distribution ------------------------------------------------------------------------ r119 | remi | 2006-04-19 12:22:56 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: D /trunk/INSTALL D /trunk/Makefile A /trunk/Makefile.am A /trunk/configure.ac A /trunk/doc/ndisc6.8 (from /trunk/ndisc6.8:117) A /trunk/doc/rdisc6.8 (from /trunk/rdisc6.8:117) A /trunk/doc/traceroute6.8 (from /trunk/traceroute6.8:117) A /trunk/m4/Makefile.am A /trunk/m4/getopt.m4 A /trunk/m4/sockaddr.m4 D /trunk/ndisc.c D /trunk/ndisc6.8 D /trunk/rdisc6.8 A /trunk/src/Makefile.am A /trunk/src/ndisc.c (from /trunk/ndisc.c:117) A /trunk/src/traceroute.c (from /trunk/traceroute.c:117) D /trunk/traceroute.c D /trunk/traceroute6.8 Switch to autotools and break everything - MUAHAHA!! ------------------------------------------------------------------------ r118 | remi | 2006-04-19 12:16:39 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: A /trunk/AUTHORS Add author file ------------------------------------------------------------------------ r117 | remi | 2006-04-19 12:09:16 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: A /trunk/admin A /trunk/doc A /trunk/m4 A /trunk/src New directory structure for autotools ------------------------------------------------------------------------ r115 | remi | 2006-04-19 12:02:46 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/NEWS News for release 0.5.3 ------------------------------------------------------------------------ r114 | remi | 2006-04-19 11:58:04 +0300 (Wed, 19 Apr 2006) | 2 lines Changed paths: M /trunk/traceroute.c Solaris compilation fix ------------------------------------------------------------------------ r113 | remi | 2006-04-19 00:29:16 +0300 (Wed, 19 Apr 2006) | 4 lines Changed paths: M /trunk/traceroute.c - Detect parameter problems errors and consider they are an indication that the traceroute is completed. - Some clean up. ------------------------------------------------------------------------ r112 | remi | 2006-04-18 22:49:37 +0300 (Tue, 18 Apr 2006) | 2 lines Changed paths: M /trunk/README Update BSD status ------------------------------------------------------------------------ r111 | remi | 2006-04-18 22:46:07 +0300 (Tue, 18 Apr 2006) | 2 lines Changed paths: M /trunk/traceroute.c BSD compile fix ------------------------------------------------------------------------ r110 | remi | 2006-04-18 22:44:06 +0300 (Tue, 18 Apr 2006) | 3 lines Changed paths: M /trunk/traceroute.c Use BSD-ish tcphdr and udphdr structs (partial traceroute6 BSD compile fix) ------------------------------------------------------------------------ r109 | remi | 2006-04-18 22:40:36 +0300 (Tue, 18 Apr 2006) | 2 lines Changed paths: M /trunk/traceroute.c Fix extra warning properly ------------------------------------------------------------------------ r108 | remi | 2006-04-18 22:39:50 +0300 (Tue, 18 Apr 2006) | 3 lines Changed paths: M /trunk/traceroute.c Revert broken earlier commits chunks (from [98] and [107]) that prevented UDP traceroute6 from detecting succesful completion ------------------------------------------------------------------------ r107 | remi | 2006-04-18 22:03:06 +0300 (Tue, 18 Apr 2006) | 3 lines Changed paths: M /trunk/traceroute.c - Abort on protocol error (such as parameter problem) - Set non-blocking mode and close-on-exec just in case ------------------------------------------------------------------------ r106 | remi | 2006-04-18 20:38:52 +0300 (Tue, 18 Apr 2006) | 3 lines Changed paths: M /trunk/Makefile M /trunk/traceroute.c traceroute6: Reset fd_set properly after every probe rather than every TTL increment ------------------------------------------------------------------------ r104 | remi | 2006-04-16 20:51:04 +0300 (Sun, 16 Apr 2006) | 2 lines Changed paths: M /trunk/NEWS Oops - update version number in NEWS ------------------------------------------------------------------------ r103 | remi | 2006-04-16 20:50:36 +0300 (Sun, 16 Apr 2006) | 2 lines Changed paths: M /trunk/NEWS NEWS for upcoming release 0.5.2 ------------------------------------------------------------------------ r102 | remi | 2006-04-16 20:46:58 +0300 (Sun, 16 Apr 2006) | 2 lines Changed paths: M /trunk/COPYING M /trunk/INSTALL M /trunk/Makefile M /trunk/NEWS M /trunk/README M /trunk/ndisc.c M /trunk/ndisc6.8 M /trunk/rdisc6.8 M /trunk/traceroute.c M /trunk/traceroute6.8 Uniformize svn:keywords ------------------------------------------------------------------------ r101 | remi | 2006-04-16 20:44:11 +0300 (Sun, 16 Apr 2006) | 2 lines Changed paths: M /trunk/COPYING M /trunk/INSTALL M /trunk/Makefile M /trunk/NEWS M /trunk/README M /trunk/ndisc.c M /trunk/ndisc6.8 M /trunk/rdisc6.8 M /trunk/traceroute.c M /trunk/traceroute6.8 Encoding and MIME type fixes ------------------------------------------------------------------------ r100 | remi | 2006-04-16 20:12:32 +0300 (Sun, 16 Apr 2006) | 2 lines Changed paths: M /trunk/Makefile Make sure ChangeLog is built in English language ------------------------------------------------------------------------ r98 | remi | 2006-04-16 19:57:49 +0300 (Sun, 16 Apr 2006) | 3 lines Changed paths: M /trunk/traceroute.c - Fixes detection of invalid hop limits from the command line - Another bunch of warnings fixed ------------------------------------------------------------------------ r97 | remi | 2006-04-16 19:49:04 +0300 (Sun, 16 Apr 2006) | 2 lines Changed paths: M /trunk/traceroute.c A bunch of warning fixed ------------------------------------------------------------------------ r96 | remi | 2006-04-16 19:48:52 +0300 (Sun, 16 Apr 2006) | 2 lines Changed paths: M /trunk/ndisc.c Update copyright ------------------------------------------------------------------------ r95 | remi | 2006-04-16 19:45:07 +0300 (Sun, 16 Apr 2006) | 2 lines Changed paths: M /trunk/ndisc.c Fix input buffer size check ------------------------------------------------------------------------ r94 | remi | 2005-12-17 22:38:11 +0200 (Sat, 17 Dec 2005) | 2 lines Changed paths: A /trunk/COPYING M /trunk/Makefile Add copyright license to the SVN trunk ------------------------------------------------------------------------ r93 | remi | 2005-12-17 22:31:45 +0200 (Sat, 17 Dec 2005) | 4 lines Changed paths: M /trunk/Makefile - Fix handling of DESTDIR with space - Allow installation of binaries alone (install-bin(-strip)) (see https://dev.openwrt.org/ticket/4) ------------------------------------------------------------------------ r92 | remi | 2005-12-01 16:33:36 +0200 (Thu, 01 Dec 2005) | 2 lines Changed paths: M /trunk/traceroute6.8 Prepare intermediary release ------------------------------------------------------------------------ r91 | remi | 2005-10-21 19:48:47 +0300 (Fri, 21 Oct 2005) | 2 lines Changed paths: M /trunk/Makefile Makefile beautification ------------------------------------------------------------------------ r90 | remi | 2005-10-21 19:40:46 +0300 (Fri, 21 Oct 2005) | 3 lines Changed paths: M /trunk/Makefile Force rewrite of tcptraceroute6 as a symlink to traceroute6 for local compilation ------------------------------------------------------------------------ r89 | remi | 2005-10-21 19:39:32 +0300 (Fri, 21 Oct 2005) | 2 lines Changed paths: M /trunk/README Missing s/tcp// ------------------------------------------------------------------------ r88 | remi | 2005-10-21 19:39:09 +0300 (Fri, 21 Oct 2005) | 2 lines Changed paths: M /trunk/README Update README as regards (tcp)traceroute6 ------------------------------------------------------------------------ r87 | remi | 2005-10-21 19:37:00 +0300 (Fri, 21 Oct 2005) | 3 lines Changed paths: M /trunk M /trunk/Makefile D /trunk/tcptraceroute6.8 M /trunk/traceroute.c M /trunk/traceroute6.8 - Made tcptraceroute6.8 a link to traceroute6.8 - some s/tcptraceroute6/traceroute6/ here and there ------------------------------------------------------------------------ r86 | remi | 2005-10-21 19:31:50 +0300 (Fri, 21 Oct 2005) | 4 lines Changed paths: M /trunk/Makefile M /trunk/NEWS M /trunk/traceroute.c A /trunk/traceroute6.8 (from /trunk/tcptraceroute6.8:85) - traditional UDP traceroute (+ updated man page) - move tcptraceroute6 to traceroute6 - make tcptraceroute6 an alias for "traceroute6 -S" ------------------------------------------------------------------------ r85 | remi | 2005-10-21 18:32:42 +0300 (Fri, 21 Oct 2005) | 2 lines Changed paths: M /trunk/NEWS M /trunk/traceroute.c PID-dependant, high port number ------------------------------------------------------------------------ r84 | remi | 2005-10-21 14:34:10 +0300 (Fri, 21 Oct 2005) | 3 lines Changed paths: M /trunk/tcptraceroute6.8 Document new options -S and -A ------------------------------------------------------------------------ r83 | remi | 2005-10-21 14:27:25 +0300 (Fri, 21 Oct 2005) | 2 lines Changed paths: M /trunk/NEWS M /trunk/traceroute.c TCP/ACK traceroute support ------------------------------------------------------------------------ r82 | remi | 2005-10-18 22:20:04 +0300 (Tue, 18 Oct 2005) | 2 lines Changed paths: M /trunk/Makefile Increment version number ------------------------------------------------------------------------ r81 | remi | 2005-10-18 21:49:12 +0300 (Tue, 18 Oct 2005) | 3 lines Changed paths: M /trunk/ndisc6.8 M /trunk/rdisc6.8 M /trunk/tcptraceroute6.8 M /trunk/traceroute.c - Source address specification (-s) for tcptraceroute6 - Some clean up ------------------------------------------------------------------------ r79 | remi | 2005-10-16 15:26:55 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: M /trunk/Makefile M /trunk/NEWS M /trunk/README Update text files for upcoming release 0.5.0 ------------------------------------------------------------------------ r78 | remi | 2005-10-16 15:18:59 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: M /trunk/ndisc.c M /trunk/ndisc6.8 M /trunk/rdisc6.8 M /trunk/tcptraceroute6.8 M /trunk/traceroute.c Man page for tcptraceroute6 ------------------------------------------------------------------------ r77 | remi | 2005-10-16 14:37:58 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: M /trunk/traceroute.c Print port number in prolog ------------------------------------------------------------------------ r76 | remi | 2005-10-16 13:21:13 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: M /trunk ignore tcptraceroute6 binary ------------------------------------------------------------------------ r75 | remi | 2005-10-16 13:20:08 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: M /trunk/traceroute.c Initial command line parsing ------------------------------------------------------------------------ r74 | remi | 2005-10-16 12:26:27 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: A /trunk/tcptraceroute6.8 Dummy man page to work-around error in make dist and make install ------------------------------------------------------------------------ r73 | remi | 2005-10-16 12:24:47 +0300 (Sun, 16 Oct 2005) | 5 lines Changed paths: M /trunk/Makefile Build tcptraceroute6 from Makefile (Known regression: make dist is broken because there is no man page for tcptraceroute6) Also, tcptraceroute6 name might change ------------------------------------------------------------------------ r72 | remi | 2005-10-16 12:14:39 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: M /trunk/traceroute.c Print source address in the prolog ------------------------------------------------------------------------ r71 | remi | 2005-10-16 00:23:30 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: M /trunk/traceroute.c Boundary check fix ------------------------------------------------------------------------ r70 | remi | 2005-10-16 00:18:16 +0300 (Sun, 16 Oct 2005) | 2 lines Changed paths: M /trunk/traceroute.c Check and parse ICMPv6 errors ------------------------------------------------------------------------ r69 | remi | 2005-10-15 23:26:43 +0300 (Sat, 15 Oct 2005) | 2 lines Changed paths: M /trunk/traceroute.c Bunch of fixes ------------------------------------------------------------------------ r68 | remi | 2005-10-15 22:49:00 +0300 (Sat, 15 Oct 2005) | 5 lines Changed paths: A /trunk/traceroute.c Preliminary tcptraceroute6 that should someday eventually : 1/ work properly 2/ support ICMP and UDP traceroute6 as well 3/ allows usual traceroute command line options ------------------------------------------------------------------------ r65 | remi | 2005-10-02 18:08:13 +0300 (Sun, 02 Oct 2005) | 2 lines Changed paths: M /trunk/NEWS Add the news for 0.4.1 ------------------------------------------------------------------------ r64 | remi | 2005-09-10 00:31:28 +0300 (Sat, 10 Sep 2005) | 2 lines Changed paths: M /trunk/INSTALL Set properties ------------------------------------------------------------------------ r63 | remi | 2005-09-10 00:31:00 +0300 (Sat, 10 Sep 2005) | 2 lines Changed paths: M /trunk/INSTALL SVN tag ------------------------------------------------------------------------ r62 | remi | 2005-09-10 00:30:24 +0300 (Sat, 10 Sep 2005) | 2 lines Changed paths: A /trunk/INSTALL M /trunk/Makefile M /trunk/README M /trunk/ndisc.c rdisc6 now supports FreeBSD (at least, it should) ------------------------------------------------------------------------ r61 | remi | 2005-09-10 00:11:25 +0300 (Sat, 10 Sep 2005) | 2 lines Changed paths: M /trunk/Makefile M /trunk/ndisc.c Partial FreeBSD compile fix (doesn't compile) ------------------------------------------------------------------------ r60 | remi | 2005-09-09 14:30:52 +0300 (Fri, 09 Sep 2005) | 3 lines Changed paths: M /trunk/Makefile M /trunk/NEWS - Flag version as stable (0.4.0) - Add dependency on Makefile ------------------------------------------------------------------------ r59 | remi | 2005-09-09 14:27:52 +0300 (Fri, 09 Sep 2005) | 2 lines Changed paths: M /trunk/NEWS Typo ------------------------------------------------------------------------ r58 | remi | 2005-09-05 23:36:12 +0300 (Mon, 05 Sep 2005) | 2 lines Changed paths: M /trunk/ndisc.c Ignore unknown options as specified per RFC2461 ------------------------------------------------------------------------ r56 | remi | 2005-09-05 23:22:48 +0300 (Mon, 05 Sep 2005) | 4 lines Changed paths: M /trunk/Makefile M /trunk/NEWS M /trunk/ndisc.c - Print Source Link-Layer address in Router Advertisement if present. - Check Prefix information option length properly in Router Adverts. - Some spelling fixes. ------------------------------------------------------------------------ r55 | remi | 2005-09-05 21:20:36 +0300 (Mon, 05 Sep 2005) | 2 lines Changed paths: M /trunk/ndisc6.8 M /trunk/rdisc6.8 Put verb in the infinitive to be more coherent ------------------------------------------------------------------------ r54 | remi | 2005-09-03 20:27:34 +0300 (Sat, 03 Sep 2005) | 2 lines Changed paths: M /trunk/ndisc.c Add usage for -1 and -m options ------------------------------------------------------------------------ r52 | remi | 2005-09-03 10:43:48 +0300 (Sat, 03 Sep 2005) | 2 lines Changed paths: M /trunk/ndisc.c Further FIXME removed ------------------------------------------------------------------------ r51 | remi | 2005-09-03 10:40:03 +0300 (Sat, 03 Sep 2005) | 2 lines Changed paths: M /trunk/ndisc.c Remove some FIXMEs ------------------------------------------------------------------------ r50 | remi | 2005-09-03 10:37:10 +0300 (Sat, 03 Sep 2005) | 2 lines Changed paths: M /trunk/ndisc.c Fix neighbor discovery ------------------------------------------------------------------------ r49 | remi | 2005-09-03 10:36:43 +0300 (Sat, 03 Sep 2005) | 2 lines Changed paths: M /trunk/Makefile Fix install ------------------------------------------------------------------------ r48 | remi | 2005-09-03 09:49:40 +0300 (Sat, 03 Sep 2005) | 2 lines Changed paths: M /trunk M /trunk/Makefile A /trunk/NEWS M /trunk/ndisc.c M /trunk/ndisc6.8 M /trunk/rdisc6.8 Too many changes to list them all (see NEWS) ------------------------------------------------------------------------ r47 | remi | 2005-08-26 23:31:31 +0300 (Fri, 26 Aug 2005) | 3 lines Changed paths: M /trunk/Makefile M /trunk/ndisc.c - Implement ICMPv6 type filtering - Implement some more GNU Makefile targets ------------------------------------------------------------------------ r41 | remi | 2005-05-03 15:04:39 +0300 (Tue, 03 May 2005) | 3 lines Changed paths: M /trunk/Makefile M /trunk/README - Changed package name to ndisc6 to soften confusion - Make bin/ directory before installing binaries if needed ------------------------------------------------------------------------ r40 | remi | 2005-04-09 09:46:02 +0300 (Sat, 09 Apr 2005) | 2 lines Changed paths: M /trunk/Makefile Bump version number ------------------------------------------------------------------------ r39 | remi | 2005-04-09 09:45:43 +0300 (Sat, 09 Apr 2005) | 2 lines Changed paths: M /trunk/ndisc.c Fix unitialized bytes in router advertisement packet ------------------------------------------------------------------------ r38 | remi | 2005-04-07 16:48:45 +0300 (Thu, 07 Apr 2005) | 3 lines Changed paths: M /trunk/Makefile - Include ChangeLog in source tarball - Release 0.1.3 ------------------------------------------------------------------------ r37 | remi | 2005-04-07 16:42:24 +0300 (Thu, 07 Apr 2005) | 2 lines Changed paths: M /trunk/Makefile M /trunk/ndisc.c Check that packet came from the expected interface ------------------------------------------------------------------------ r36 | remi | 2005-04-02 18:20:13 +0300 (Sat, 02 Apr 2005) | 2 lines Changed paths: M /trunk/README Update README for 0.1.2 ------------------------------------------------------------------------ r35 | remi | 2005-04-02 18:17:38 +0300 (Sat, 02 Apr 2005) | 6 lines Changed paths: M /trunk M /trunk/Makefile D /trunk/ndisc.8 M /trunk/ndisc.c A /trunk/ndisc6.8 (from /trunk/ndisc.8:34) D /trunk/rdisc.8 A /trunk/rdisc6.8 (from /trunk/rdisc.8:34) Changed executables' name : rdisc -> rdisc6 ndisc -> ndisc6 (suggestion from M. H. Warfield - conflicts with fairly common iputils package) ------------------------------------------------------------------------ r34 | remi | 2005-04-01 15:54:06 +0300 (Fri, 01 Apr 2005) | 2 lines Changed paths: M /trunk/Makefile New release ------------------------------------------------------------------------ r33 | remi | 2005-03-31 20:01:08 +0300 (Thu, 31 Mar 2005) | 3 lines Changed paths: M /trunk/ndisc.c - Remove superfluous variable - Fix retries with Router Discovery ------------------------------------------------------------------------ r32 | remi | 2005-03-12 14:55:43 +0200 (Sat, 12 Mar 2005) | 2 lines Changed paths: M /trunk Created svn:ignore ------------------------------------------------------------------------ r31 | remi | 2005-02-15 21:21:19 +0200 (Tue, 15 Feb 2005) | 2 lines Changed paths: M /trunk/README Fixes $Id$ ------------------------------------------------------------------------ r30 | remi | 2005-02-15 21:20:23 +0200 (Tue, 15 Feb 2005) | 2 lines Changed paths: M /trunk/README Buggy $Id$ ------------------------------------------------------------------------ r29 | remi | 2005-02-15 21:19:59 +0200 (Tue, 15 Feb 2005) | 2 lines Changed paths: M /trunk/Makefile A /trunk/README Add a README file and a copy of the GPL in the source tarball ------------------------------------------------------------------------ r28 | remi | 2005-02-15 21:06:23 +0200 (Tue, 15 Feb 2005) | 2 lines Changed paths: M /trunk/Makefile M /trunk/ndisc.c Improve version information ------------------------------------------------------------------------ r27 | remi | 2005-02-15 20:59:27 +0200 (Tue, 15 Feb 2005) | 3 lines Changed paths: M /trunk/Makefile A /trunk/rdisc.8 - Improved Makefile (among other things: updated uninstall target) - man page for rdisc ------------------------------------------------------------------------ r26 | remi | 2005-01-26 16:53:43 +0200 (Wed, 26 Jan 2005) | 3 lines Changed paths: M /trunk/ndisc.c - Fix indentation - simply print prefixes when -q is used ------------------------------------------------------------------------ r25 | remi | 2005-01-26 16:27:55 +0200 (Wed, 26 Jan 2005) | 2 lines Changed paths: M /trunk/ndisc.c Better spacing to make verbose results more readable ------------------------------------------------------------------------ r24 | remi | 2005-01-26 13:58:58 +0200 (Wed, 26 Jan 2005) | 2 lines Changed paths: M /trunk/ndisc.c Fix command line parameter checking ------------------------------------------------------------------------ r23 | remi | 2005-01-26 13:49:41 +0200 (Wed, 26 Jan 2005) | 2 lines Changed paths: M /trunk/Makefile Install rdisc ------------------------------------------------------------------------ r22 | remi | 2005-01-26 01:21:42 +0200 (Wed, 26 Jan 2005) | 3 lines Changed paths: M /trunk/ndisc.c - Only show prefixes when -v is not used - Display multiple prefixes in the same advertisement ------------------------------------------------------------------------ r21 | remi | 2005-01-26 00:52:52 +0200 (Wed, 26 Jan 2005) | 4 lines Changed paths: M /trunk/Makefile M /trunk/ndisc.c - Fix -v option, - Clean up, - Initial support for router solitication ------------------------------------------------------------------------ r20 | remi | 2005-01-09 13:42:19 +0200 (Sun, 09 Jan 2005) | 3 lines Changed paths: M /trunk/ndisc.8 M /trunk/ndisc.c - no longer rely on Linux-like semantics for select(), - solves the longer that expected select() bug ------------------------------------------------------------------------ r19 | remi | 2005-01-09 13:02:59 +0200 (Sun, 09 Jan 2005) | 2 lines Changed paths: M /trunk/ndisc.8 Update manpage ------------------------------------------------------------------------ r18 | remi | 2004-12-02 11:02:45 +0200 (Thu, 02 Dec 2004) | 2 lines Changed paths: M /trunk/ndisc.8 Typo reported by Laurent Granger ------------------------------------------------------------------------ r17 | remi | 2004-12-01 17:13:43 +0200 (Wed, 01 Dec 2004) | 2 lines Changed paths: M /trunk/Makefile Distribute and install man page ------------------------------------------------------------------------ r16 | remi | 2004-12-01 17:13:27 +0200 (Wed, 01 Dec 2004) | 2 lines Changed paths: M /trunk/ndisc.8 Sentence about aim of the program ------------------------------------------------------------------------ r15 | remi | 2004-12-01 17:08:11 +0200 (Wed, 01 Dec 2004) | 2 lines Changed paths: M /trunk/ndisc.8 Fixed svn:keywords property ------------------------------------------------------------------------ r14 | remi | 2004-12-01 17:05:48 +0200 (Wed, 01 Dec 2004) | 2 lines Changed paths: A /trunk/ndisc.8 Man page ------------------------------------------------------------------------ r13 | remi | 2004-12-01 00:58:44 +0200 (Wed, 01 Dec 2004) | 3 lines Changed paths: M /trunk/Makefile dist target ------------------------------------------------------------------------ r12 | remi | 2004-11-30 02:01:59 +0200 (Tue, 30 Nov 2004) | 3 lines Changed paths: M /trunk/ndisc.c - verbose help text, - fairly useless --verbose option ------------------------------------------------------------------------ r11 | remi | 2004-11-28 15:27:06 +0200 (Sun, 28 Nov 2004) | 2 lines Changed paths: M /trunk/ndisc.c Support for --quiet, --retry and --wait options ------------------------------------------------------------------------ r10 | remi | 2004-11-27 17:02:27 +0200 (Sat, 27 Nov 2004) | 3 lines Changed paths: M /trunk/Makefile M /trunk/ndisc.c - Invert error return values. - Version information. ------------------------------------------------------------------------ r9 | remi | 2004-11-27 16:50:16 +0200 (Sat, 27 Nov 2004) | 2 lines Changed paths: M /trunk/ndisc.c Print Neighbor Advertisement source IPv6 address ------------------------------------------------------------------------ r8 | remi | 2004-11-27 16:44:55 +0200 (Sat, 27 Nov 2004) | 2 lines Changed paths: M /trunk/ndisc.c Don't bug on unknown ICMPv6 options ------------------------------------------------------------------------ r7 | remi | 2004-11-27 14:49:20 +0200 (Sat, 27 Nov 2004) | 2 lines Changed paths: M /trunk/ndisc.c Retry 3 times ------------------------------------------------------------------------ r6 | remi | 2004-11-27 13:43:36 +0200 (Sat, 27 Nov 2004) | 2 lines Changed paths: M /trunk/ndisc.c Wait one second instead of 3, like the Linux kernel does ------------------------------------------------------------------------ r5 | remi | 2004-11-27 13:41:47 +0200 (Sat, 27 Nov 2004) | 2 lines Changed paths: M /trunk/ndisc.c Waits for at most 3 seconds ------------------------------------------------------------------------ r4 | remi | 2004-11-27 13:18:46 +0200 (Sat, 27 Nov 2004) | 2 lines Changed paths: M /trunk/ndisc.c Functions cleanup ------------------------------------------------------------------------ r3 | remi | 2004-11-27 13:00:28 +0200 (Sat, 27 Nov 2004) | 2 lines Changed paths: M /trunk/ndisc.c Minor cleanup ------------------------------------------------------------------------ r2 | remi | 2004-11-27 12:46:58 +0200 (Sat, 27 Nov 2004) | 3 lines Changed paths: M /trunk/Makefile - Support for install, install-strip and uninstall. - Clean-up. ------------------------------------------------------------------------ r1 | remi | 2004-11-27 12:37:45 +0200 (Sat, 27 Nov 2004) | 2 lines Changed paths: A /trunk A /trunk/Makefile A /trunk/ndisc.c Initial SVN import ------------------------------------------------------------------------ ndisc6-1.0.1/aclocal.m40000644000175000001440000011040211470554037011460 00000000000000# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file 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. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, [m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file 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. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.11.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file 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. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file 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. # serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 # Free Software Foundation, Inc. # # This file 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. # serial 10 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file 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. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file 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. # serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file 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. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file 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. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file 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. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file 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. # serial 6 # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file 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. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file 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. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file 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. # serial 4 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file 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. # serial 5 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2009 Free Software Foundation, Inc. # # This file 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. # serial 1 # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # (`yes' being less verbose, `no' or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [ --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0')]) case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file 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. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006, 2008 Free Software Foundation, Inc. # # This file 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. # serial 2 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file 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. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/getopt.m4]) m4_include([m4/gettext.m4]) m4_include([m4/hostname.m4]) m4_include([m4/iconv.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) m4_include([m4/sockaddr.m4]) ndisc6-1.0.1/doc/0000755000175000001440000000000011530146511010436 500000000000000ndisc6-1.0.1/doc/ndisc6.80000644000175000001440000000746311463353776011671 00000000000000.\" ************************************************************************* .\" * Copyright © 2004-2006 Rémi Denis-Courmont. * .\" * This program is free software: you can redistribute and/or modify * .\" * it under the terms of the GNU General Public License as published by * .\" * the Free Software Foundation, versions 2 or 3 of the license. * .\" * * .\" * This program is distributed in the hope that it will be useful, * .\" * but WITHOUT ANY WARRANTY; without even the implied warranty of * .\" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * .\" * GNU General Public License for more details. * .\" * * .\" * You should have received a copy of the GNU General Public License * .\" * along with this program. If not, see . * .\" ************************************************************************* .TH "NDISC6" "8" "$Date: 2010-10-31 22:56:30 +0200 (dim. 31 oct. 2010) $" "ndisc6" "System Manager's Manual" .SH NAME ndisc6 \- ICMPv6 Neighbor Discovery tool .SH SYNOPSIS .BR "ndisc6" " [" "-1mnqv" "] [" "-r attempts" "] [" "-w wait_ms" "] <" .BR "IPv6 address" "> <" "iface" ">" .SH DESCRIPTON .B NDisc6 is an Unix program which implements the ICMPv6 Neighbor Discovery in userland (it is normally done by the kernel). It is used to lookup the link-layer address (layer 2 address, MAC in the case of Ethernet) of any on-link IPv6 node. The IPv6 address of the node must be specified, as well as the networking interface on which to perform the lookup. .SH OPTIONS .TP .BR "\-1" " or " "\-\-single" Exit as soon as the first advertisement is received (default). .TP .BR "\-h" " or " "\-\-help" Display some help and exit. .TP .BR "\-m" " or " "\-\-multiple" Wait for possible duplicate advertisements and print all of them. .TP .BR "\-n" " or " "\-\-numeric" If the first parameter is not a valid IPv6 address, do not try to resolve it as a DNS hostname. .TP .BR "\-q" " or " "\-\-quiet" Only display link-layer address. Display nothing in case of failure. That is mostly useful when calling the program from a shell script. .TP .BR "\-r attempts" " or " "\-\-retry attempts" Send ICMPv6 Neighbor Discovery that many times until a reply is received, or abort. By default, ndisc6 will try 3 times before aborting (MAX_MULTICAST_SOLICIT and MAX_UNICAST_SOLICIT from RFC2461). .TP .BR "\-V" " or " "\-\-version" Display program version and license and exit. .TP .BR "\-v" " or " "\-\-verbose" Display verbose information. That is the default. .TP .BR "\-w wait_ms" " or " "\-\-wait wait_ms" .RI "Wait " "wait_ms" " milliseconds for a response before retrying." By default, ndisc6 waits 1 second between each attempts (RETRANS_TIMER from RFC2461). .SH DIAGNOSTICS If you get no response while you know the remote host is up, it is most likely that it is not on-link, that is to say, you must cross one or more routers to reach it. By design, IPv6 nodes ignore ICMPv6 Neighbor Discovery packets received from nodes not on the same link (i.e. Ethernet segment), for the sake of security. Technically, that is done by ensuring that the Hop limit (TTL) is 255. Note that you cannot use ndisc6 to lookup the local host's link-layer address. .SH SECURITY .RI "ndisc6 should be " "setuid" " " "root" " to allow use by non " privileged users. It will drop its root privileges before any attempt is made to send or receive data from the network to reduce the possible impact of a security vulnerability. .SH "SEE ALSO" ping6(8), rdisc6(8), ipv6(7) .SH AUTHOR R\[char233]mi Denis-Courmont $Id: ndisc6.8 658 2010-10-31 20:56:30Z remi $ http://www.remlab.net/ndisc6/ ndisc6-1.0.1/doc/rdnssd.8-in0000644000175000001440000000771410753073663012376 00000000000000.\" ************************************************************************* .\" * Copyright © 2007 Pierre Ynard, Rémi Denis-Courmont. * .\" * This program is free software: you can redistribute and/or modify * .\" * it under the terms of the GNU General Public License as published by * .\" * the Free Software Foundation, versions 2 or 3 of the license. * .\" * * .\" * This program is distributed in the hope that it will be useful, * .\" * but WITHOUT ANY WARRANTY; without even the implied warranty of * .\" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * .\" * GNU General Public License for more details. * .\" * * .\" * You should have received a copy of the GNU General Public License * .\" * along with this program. If not, see . * .\" ************************************************************************* .TH "RDNSSD" "8" "$Date: 2007-12-29 23:55:43 +0200 (Sat, 29 Dec 2007) $" "rdnssd" "System Manager's Manual" .SH NAME rdnssd \- IPv6 Recursive DNS Server discovery Daemon .SH SYNOPSIS .BR "rdnssd" " [" "-f" "] [" "-H merge-hook" "] [" "-r resolv-file" "]" .BR "" "[" "-p pidfile" "] [" "-u username" "]" .SH DESCRIPTON .B rdnssd is a daemon program providing client-side support for DNS configuration using the Recursive DNS Server (RDNSS) option, as described in RFC 5006. Its purpose is to supply IPv6 DNS resolvers through stateless autoconfiguration, carried by Router Advertisements. rdnssd parses RDNSS options and keeps track of resolvers to write nameservers entries to a resolv.conf(5) configuration file. By default, it writes its own separate file, and may call an external hook to merge it with the main @sysconfdir@/resolv.conf. This is aimed at easing coexistence with concurrent daemons, especially IPv4 ones, updating @sysconfdir@/resolv.conf too. On Linux, since version 2.6.24, rdnssd takes advantage of a new netlink interface, forwarding RDNSS options validated by the kernel to userland. Otherwise, it merely listens to all ICMPv6 traffic through a raw socket. .SH OPTIONS .TP .BR "\-f" " or " "\-\-foreground" Do not detach from the console. Run the program in the foreground. .TP .BR "\-H merge-hook" " or " "\-\-merge-hook merge-hook" Execute this hook whenever resolv.conf is updated. If this option is not specified, then no hook will be called. .TP .BR "\-h" " or " "\-\-help" Display some help and exit. .TP .BR "\-p pidfile" " or " "\-\-pidfile pidfile" Override the location of the pidfile. .TP .BR "\-r resolv-file" " or " "\-\-resolv-file resolv-file" Set the path to the generated resolv.conf file. .TP .BR "\-u username" " or " "\-\-user username" Override the user that the program will run as. By default, it runs as .BR "nobody" "." .TP .BR "\-V" " or " "\-\-version" Display program version and license and exit. .SH FILES .TP .I @sysconfdir@/rdnssd/merge-hook A basic merge hook shipped with rdnssd, to be called with the -H option. .TP .I @localstatedir@/run/rdnssd/resolv.conf The default resolv.conf(5) file that rdnssd writes its configuration to. .TP .I @localstatedir@/run/rdnssd.pid The process-id file. .SH BUGS rdnssd does not keep track of the lifetimes of the routers associated with some DNS resolvers, whereas it should to strictly comply with RFC 5006. When rdnssd uses a raw socket instead of the netlink kernel interface, it does not validate received Neighbor Discovery traffic in any way. For example, it will always consider Router Advertisement packets, whereas it should not if the host is configured as a router. When the netlink interface is used, such validation is done by the kernel. .SH "SEE ALSO" resolv.conf(5), rdisc6(8), ipv6(7) .SH AUTHOR Pierre Ynard $Id: rdnssd.8-in 575 2007-12-29 21:55:43Z linkfanel $ http://www.remlab.net/ndisc6/ ndisc6-1.0.1/doc/Makefile.in0000644000175000001440000004027011530146414012430 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 - doc Makefile for ndisc6 # $Id: Makefile.am 664 2010-11-16 19:15:36Z remi $ # Copyright © 2006-2007 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@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@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/hostname.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/sockaddr.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" man8dir = $(mandir)/man8 NROFF = nroff MANS = $(man1_MANS) $(man8_MANS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBRT = @LIBRT@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ 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@ man1_MANS = addr2name.1 dnssort.1 tcpspray.1 man8_MANS = ndisc6.8 rdisc6.8 rltraceroute6.8 rdnssd.8 SOURCES_MAN = \ ndisc6.8 rdisc6.8 \ rltraceroute6.8 \ rdnssd.8-in \ $(man1_MANS) EXTRA_DIST = $(SOURCES_MAN) CLEANFILES = rdnssd.8 sed_verbose = $(sed_verbose_$(V)) sed_verbose_ = $(sed_verbose_$(AM_DEFAULT_VERBOSITY)) sed_verbose_0 = @echo " SED $@"; edit = sed \ -e 's,@localstatedir\@,$(localstatedir),g' \ -e 's,@sysconfdir\@,$(sysconfdir),g' all: all-am .SUFFIXES: .SUFFIXES: .8 .8-in $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-man1: $(man1_MANS) @$(NORMAL_INSTALL) test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \ { for i in $$list; do echo "$$i"; done; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ test -z "$$files" || { \ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } install-man8: $(man8_MANS) @$(NORMAL_INSTALL) test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)" @list='$(man8_MANS)'; test -n "$(man8dir)" || exit 0; \ { for i in $$list; do echo "$$i"; done; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ done; } uninstall-man8: @$(NORMAL_UNINSTALL) @list='$(man8_MANS)'; test -n "$(man8dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ test -z "$$files" || { \ echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(man8dir)" && rm -f $$files; } tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @list='$(MANS)'; if test -n "$$list"; then \ list=`for p in $$list; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ if test -n "$$list" && \ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ echo " typically \`make maintainer-clean' will remove them" >&2; \ exit 1; \ else :; fi; \ else :; fi @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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(MANS) installdirs: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-man @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-man8 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-man @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook uninstall-man: uninstall-man1 uninstall-man8 .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-hook install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-man1 install-man8 \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-hook uninstall-man uninstall-man1 uninstall-man8 .8-in.8: $(AM_V_at)rm -f -- $@ $(sed_verbose)$(edit) $< > $@ install-data-hook: inst=`echo rltraceroute6 | sed '$(transform)'`; \ cd "$(DESTDIR)$(man8dir)" && \ for a in tcptraceroute6 tracert6; do \ ln -sf -- "$${inst}.8" "$$a.8" ; \ done inst=`echo tcpspray | sed '$(transform)'`; \ cd "$(DESTDIR)$(man1dir)" && \ ln -sf -- "$${inst}.1" "tcpspray6.1" inst=`echo addr2name | sed '$(transform)'`; \ cd "$(DESTDIR)$(man1dir)" && \ ln -sf -- "$${inst}.1" "name2addr.1" uninstall-hook: for a in tcptraceroute6 tracert6; do \ unlink "$(DESTDIR)$(man8dir)/$$a.8" ; \ done unlink "$(DESTDIR)$(man1dir)/tcpspray6.1" unlink "$(DESTDIR)$(man1dir)/name2addr.1" # Make sure manpages are plain ASCII distcheck-hook: cd "$(srcdir)" && \ cat $(SOURCES_MAN) | grep -ve '\.\\"' | \ iconv -f ASCII >/dev/null # 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: ndisc6-1.0.1/doc/rdisc6.80000644000175000001440000000650211463353776011666 00000000000000.\" ************************************************************************* .\" * Copyright © 2004-2006 Rémi Denis-Courmont. * .\" * This program is free software: you can redistribute and/or modify * .\" * it under the terms of the GNU General Public License as published by * .\" * the Free Software Foundation, versions 2 or 3 of the license. * .\" * * .\" * This program is distributed in the hope that it will be useful, * .\" * but WITHOUT ANY WARRANTY; without even the implied warranty of * .\" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * .\" * GNU General Public License for more details. * .\" * * .\" * You should have received a copy of the GNU General Public License * .\" * along with this program. If not, see . * .\" ************************************************************************* .TH "RDISC6" "8" "$Date: 2010-10-31 22:56:30 +0200 (dim. 31 oct. 2010) $" "rdisc6" "System Manager's Manual" .SH NAME rdisc \- ICMPv6 Router Discovery tool .SH SYNOPSIS .BR "rdisc6" " [" "-qv" "] [" "-r attempts" "] [" "-w wait_ms" "] [" .BR "IPv6 address" "] <" "iface" ">" .SH DESCRIPTON .B RDisc6 is an Unix program which implements the ICMPv6 Router Discovery in userland (it is normally done by the kernel). It is used to lookup the list of on-link routers and IPv6 prefixes. It can also be used to force the kernel to update the state of a given IPv6-autoconfigured network interface. The name of the network interface to probe routers for must be specified. .SH OPTIONS .TP .BR "\-1" " or " "\-\-single" Exit as soon as the first advertisement is received. .TP .BR "\-h" " or " "\-\-help" Display some help and exit. .TP .BR "\-m" " or " "\-\-multiple" Wait for possible multiple advertisements and print all of them (default). .TP .BR "\-n" " or " "\-\-numeric" If the optional parameter is not a valid IPv6 address, do not try to resolve it as a DNS hostname. .TP .BR "\-q" " or " "\-\-quiet" Only display advertised IPv6 prefixes. Display nothing in case of failure. That is mostly useful when calling the program from a shell script. .TP .BR "\-r attempts" " or " "\-\-retry attempts" Send ICMPv6 Router Discovery that many times until a reply is received, or abort. By default, rdisc6 will try 3 times before aborting (MAX_RTR_SOLICITATIONS from RFC2461). .TP .BR "\-V" " or " "\-\-version" Display program version and license and exit. .TP .BR "\-v" " or " "\-\-verbose" Display verbose information. That is the default. .TP .BR "\-w wait_ms" " or " "\-\-wait wait_ms" .RI "Wait " "wait_ms" " milliseconds for a response before retrying." By default, rdisc6 waits 4 second between each attempts (RTR_SOLICITATION_INTERVAL from RFC2461). .SH SECURITY .RI "rdisc6 must be " "setuid" " " "root" " to allow use by non " privileged users. It will drop its root privileges before any attempt is made to send or receive data from the network to reduce the possible impact of a security vulnerability. .SH "SEE ALSO" ndisc6(8), ipv6(7) .SH AUTHOR R\[char233]mi Denis-Courmont $Id: rdisc6.8 658 2010-10-31 20:56:30Z remi $ http://www.remlab.net/ndisc6/ ndisc6-1.0.1/doc/Makefile.am0000644000175000001440000000272411470554130012422 00000000000000# Makefile.am - doc Makefile for ndisc6 # $Id: Makefile.am 664 2010-11-16 19:15:36Z remi $ # Copyright © 2006-2007 Rémi Denis-Courmont # This file is distributed under the same license as the ndisc6 package. man1_MANS = addr2name.1 dnssort.1 tcpspray.1 man8_MANS = ndisc6.8 rdisc6.8 rltraceroute6.8 rdnssd.8 SOURCES_MAN = \ ndisc6.8 rdisc6.8 \ rltraceroute6.8 \ rdnssd.8-in \ $(man1_MANS) EXTRA_DIST = $(SOURCES_MAN) CLEANFILES = rdnssd.8 sed_verbose = $(sed_verbose_$(V)) sed_verbose_ = $(sed_verbose_$(AM_DEFAULT_VERBOSITY)) sed_verbose_0 = @echo " SED $@"; edit = sed \ -e 's,@localstatedir\@,$(localstatedir),g' \ -e 's,@sysconfdir\@,$(sysconfdir),g' .8-in.8: $(AM_V_at)rm -f -- $@ $(sed_verbose)$(edit) $< > $@ install-data-hook: inst=`echo rltraceroute6 | sed '$(transform)'`; \ cd "$(DESTDIR)$(man8dir)" && \ for a in tcptraceroute6 tracert6; do \ ln -sf -- "$${inst}.8" "$$a.8" ; \ done inst=`echo tcpspray | sed '$(transform)'`; \ cd "$(DESTDIR)$(man1dir)" && \ ln -sf -- "$${inst}.1" "tcpspray6.1" inst=`echo addr2name | sed '$(transform)'`; \ cd "$(DESTDIR)$(man1dir)" && \ ln -sf -- "$${inst}.1" "name2addr.1" uninstall-hook: for a in tcptraceroute6 tracert6; do \ unlink "$(DESTDIR)$(man8dir)/$$a.8" ; \ done unlink "$(DESTDIR)$(man1dir)/tcpspray6.1" unlink "$(DESTDIR)$(man1dir)/name2addr.1" # Make sure manpages are plain ASCII distcheck-hook: cd "$(srcdir)" && \ cat $(SOURCES_MAN) | grep -ve '\.\\"' | \ iconv -f ASCII >/dev/null ndisc6-1.0.1/doc/tcpspray.10000644000175000001440000001000311463353776012321 00000000000000.\" ************************************************************************* .\" * Copyright © 2006 Rémi Denis-Courmont. * .\" * This program is free software: you can redistribute and/or modify * .\" * it under the terms of the GNU General Public License as published by * .\" * the Free Software Foundation, versions 2 or 3 of the license. * .\" * * .\" * This program is distributed in the hope that it will be useful, * .\" * but WITHOUT ANY WARRANTY; without even the implied warranty of * .\" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * .\" * GNU General Public License for more details. * .\" * * .\" * You should have received a copy of the GNU General Public License * .\" * along with this program. If not, see . * .\" ************************************************************************* .TH "TCPSPRAY" "1" "$Date: 2010-10-31 22:56:30 +0200 (dim. 31 oct. 2010) $" "tcpspray" "User's Manual" .SH NAME tcpspray \- TCP/IP bandwidth measurement tool (Discard and Echo client) .SH SYNOPSIS .BR "tcpspray" " [" "-46ev" "] [" "-b block_size" "] [" "-d wait_\[char181]s" "] [" .BR "-f filename" "] [" "-n count" "] <" "hostname" "> [" "port" "]" .SH DESCRIPTON .B tcpspray .RI "uses the " "Discard" " resp. " "Echo" " protocol (RFC\ 863 resp. RFC\ 862)" .RI "to perform bandwidth measurements of " "TCP" " sessions between the" .RI "local system, and a " "Discard" " resp. " "Echo" " server." Unix-based hosts can provide a Discard and/or Echo servers with the Internet .I super-server .BR "inetd" ". On Windows NT, the .I simple network protocols optional component will do the same. The name or address of the server node must be specified. tcpspray will automatically try to use IPv6 when available. If not, or if it fails, it will fallback to IPv4. However, tcpspray4 resp. tcpspray6 only try to use IPv4 resp. IPv6. .SH OPTIONS .TP .BR "\-4" " or " "\-\-ipv4" Force usage of TCP over IPv4. .TP .BR "\-6" " or " "\-\-ipv6" Force usage of TCP over IPv6. .TP .BR "\-b block_size" " or " "\-\-bsize block_size" Send block of the specified byte size (default: 1024). .TP .BR "\-d wait_\[char181]s" " or " "\-\-delay wait_\[char181]s" Waits for the given amount of microseconds after any given was sent before attempting to send the next one. There is no delay by default. .TP .BR "\-e" " or " "\-\-echo" Use the Echo protocol instead of Discard. tcpspray will measure the time required to send data and receive it back, instead of simply sending it. .TP .BR "\-f filename" " or " "\-\-fill filename" Read data from the specified file to fill sent blocks with. If the file is smaller than the size of blocks, or if no file were specified, the remaining trailing bytes are all set to zero. .TP .BR "\-h" " or " "\-\-help" Display some help and exit. .TP .BR "\-n block_count" " or " "\-\-count block_count" Send the specified amount of data blocks for the measurements (default: 100). .TP .BR "\-V" " or " "\-\-version" Display program version and license and exit. .TP .BR "\-v" " or " "\-\-verbose" Display more verbose informations. In particular, tcpspray will print a dot each time a block is sent. If the Echo protocol is used (option -e), dots will be erased as data is received back. .SH DIAGNOSTICS If you get no response while you know the remote host is up, it is most likely that it has no Discard/Echo service running, or that these services are blocked by a firewall. Running tcptraceroute6(8) resp. tcptraceroute(8) toward the IPv6 resp. IPv4 remote host might help detecting such a situation. .SH SECURITY tcpspray does not require any privilege to run. .SH "SEE ALSO" tcp(7), inetd(8), tcptraceroute6(8), tcptraceroute(8) .SH AUTHOR R\[char233]mi Denis-Courmont $Id: tcpspray.1 658 2010-10-31 20:56:30Z remi $ http://www.remlab.net/ndisc6/ ndisc6-1.0.1/doc/dnssort.10000644000175000001440000000335511463353776012164 00000000000000.\" ************************************************************************* .\" * Copyright © 2006 Rémi Denis-Courmont. * .\" * This program is free software: you can redistribute and/or modify * .\" * it under the terms of the GNU General Public License as published by * .\" * the Free Software Foundation, versions 2 or 3 of the license. * .\" * * .\" * This program is distributed in the hope that it will be useful, * .\" * but WITHOUT ANY WARRANTY; without even the implied warranty of * .\" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * .\" * GNU General Public License for more details. * .\" * * .\" * You should have received a copy of the GNU General Public License * .\" * along with this program. If not, see . * .\" ************************************************************************* .TH "DNSSORT" "1" "$Date: 2010-10-31 22:56:30 +0200 (dim. 31 oct. 2010) $" "dnssort" "User's Manual" .SH NAME dnssort \- sort DNS hostnames .SH SYNOPSIS .BR "dnssort" " [" "-r" "] [" "FILES" "]" .SH DESCRIPTON Write sorted concatenation of all specified files to standard output. If none are specified, the standard input is used. .SH OPTIONS .TP .BR "\-\-help" Display some help and exit. .TP .BR "\-r" Reverse the sorting comparisons. .TP .BR "\-\-version" Display program version and license and exit. .SH "SEE ALSO" sort(1) .SH AUTHOR R\[char233]mi Denis-Courmont $Id: dnssort.1 658 2010-10-31 20:56:30Z remi $ http://www.remlab.net/ndisc6/ ndisc6-1.0.1/doc/rltraceroute6.80000644000175000001440000002241211463353776013273 00000000000000.\" ************************************************************************* .\" * Copyright © 2005-2006 Rémi Denis-Courmont. * .\" * This program is free software: you can redistribute and/or modify * .\" * it under the terms of the GNU General Public License as published by * .\" * the Free Software Foundation, versions 2 or 3 of the license. * .\" * * .\" * This program is distributed in the hope that it will be useful, * .\" * but WITHOUT ANY WARRANTY; without even the implied warranty of * .\" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * .\" * GNU General Public License for more details. * .\" * * .\" * You should have received a copy of the GNU General Public License * .\" * along with this program. If not, see . * .\" ************************************************************************* .TH "TRACEROUTE6" "8" "$Date: 2010-10-31 22:56:30 +0200 (dim. 31 oct. 2010) $" "traceroute6" "System Manager's Manual" .SH NAME rltraceroute6 \- IPv6 traceroute tool tcptraceroute6 \- TCP/IPv6 traceroute tool .SH SYNOPSIS .BR "traceroute6" " [" "-AdEILlnrSU" "] [" "-f min_hop" "] [" "-g hop" "] [" .BR "-i iface" "] [" "-m max_hop" "] [" "-p port" "] [" "-q attempts" "] [" .BR "-s source" "] [" "-t tclass" "] [" "-w wait" "] [" "-z delay_ms" "] <" .BR "hostname/address" "> [" "packet length" "]" .BR "tcptraceroute6" " [" "-AdEnrS" "] [" "-f min_hop" "] [" "-g hop" "] [" .BR "-i iface" "] [" "-l packet_size" "] [" "-m max_hop" "] [" "-p port" "] [" .BR "-q attempts" "] [" "-s source" "] [" "-t tclass" "] [" "-w wait" "] [" .BR "-z delay_ms" "] <" .BR "hostname/address" "> [" "port" "]" .SH DESCRIPTON .B rltraceroute6 is an IPv6 traceroute implementation. It displays the list of hops along the network route between the local system and specified destination, by sending packets while incrementing their hop limit, until the final destination is reached. .RB "By default, " "rltraceroute6" " sends UDP probe packets toward the" destination (that's the historical default). However, it can also send TCP packets, much like Michael C. Toren's .B tcptraceroute does on IPv4 networks; .B tcptraceroute6 sends TCP packets by default (and mimics tcptraceroute command line syntax). Finally, it can also send ICMPv6 Echo Request packets, like some other traceroute implementations (such as the one in Microsoft Windows); .B tracert6 does this by default. You must specify the name or address of the host toward which the network route should be determined. An optional additional parameter specifies either the probe packets length (for UDP and ICMP packets), or the destination port number/service name (for TCP packets). Note that TCP destination port zero really is TCP port numbered 0 (which cannot be used via the standard higer-level TCP/IP programming interface). .SH OPTIONS .TP .B "\-A" Send TCP/ACK probe packets. That's very efficient against stateless firewalls (e.g. the official Linux kernel versions up to and including 2.4.31 and 2.6.14), and utterly helpless against stateful ones. Note that TCP/ACK probing cannot determine whether the destination TCP port is open or not. .TP .B "\-d" Enable socket debugging option (SO_DEBUG). Unless you are debugging the kernel, this is probably not going to have any actual effect. .TP .B "\-E" .RI "Send " "ECN-setup" " TCP/SYN probe packets (as per RFC 3168)" rather than non-ECN-setup TCP/SYN probe packets. This has no effect unless command line optin -S is specified as well. .TP .B "\-F" This option is ignored for backward compatibility. IPv6 packets are never fragmented en route. .TP .B "\-f" Override the initial IPv6 packets hop limit (default: 1). .TP .B "\-g" Add an IPv6 route segment within an IPv6 Routing Header. This enables loose source routing. Currently, only "Type 0" routing header is supported. .TP .B "\-h" Display some help and exit. .TP .B "\-I" " (rltraceroute6 only)" Send ICMPv6 Echo requests (like ping6) as probe packets. That's the default for tracert6. .TP .B "\-i" Only send packets through the specified interface. See also BUGS. .TP .B "\-I" " (rltraceroute6 only)" Send UDP-Lite (protocol 136) packets (with full checksum coverage) as probe packets instead of normal UDP (protocol 17). .TP .BR "\-l" " (rltraceroute6 only)" Print the hop limit of received packets. This is mostly used to detect asymmetric routing. .TP .BR "\-l" " (tcptraceroute6 only)" Specify the size (bytes) of sent packets. .TP .B "\-m" Override the maximum hop limit (maximum number of hops). The default is 30 hops which should be sufficient on the IPv6 Internet for some time. .TP .B "\-N" Try to resolve each hop's IPv6 address to a host name. This is the default. This option is meant for backward compatibility with tcptraceroute(8). .TP .B "\-n" Do not try to resolve each hop's IPv6 address to a host name. That may speed up the traceroute significantly. .TP .B "\-p" For rltraceroute6, specify the base destination port number (default: 33434). rltraceroute6 assumes that packets toward this port up to this port plus the maximum hop limit are not in use by any program on the final destination and that they are not blocked by some firewall. The fact that this very assumption was not always correct, eventually lead to the development of the original IPv4 tcptraceroute by Michael Toren. For tcptraceroute6, specify the source port number (default: auto). Note that source port number zero really means number zero, rather than some port number that would be automatically assigned, as is the case with usual softwares. .TP .B "\-q" Override the number of probes sent to each hop (default: 3). .TP .B "\-r" Do not route packets, i.e. do not send packets through a gateway that would be specified by the routing table. See also BUGS. .TP .B "\-S" Use TCP/SYN probe packets. That's the default for tcptraceroute6. .TP .B "\-s" Specify the source address to use for probe packets explicitly. .TP .B "\-S" Use UDP probe packets. That's the default for rltraceroute6. .TP .B "\-t" Specify the traffic class (DSCP) for probe packets. See also BUGS. .TP .B "\-U" " (rltraceroute6 only)" Send UDP probe packets. That's the default. .TP .B "\-V" Display program version and license and exit. .TP .B "\-w" Override the delay (in seconds) to wait for response once a given probe packet was sent (default: 5 seconds). .TP .B "\-x" This option is ignored for seamless migration from IPv4 traceroute. The IPv6 header has no checksum field. .TP .B "\-z" Specify a milliseconds delay to wait between each probe with identical hop limit. This can be useful to work-around ICMPv6 rate limitation on some hosts. .SH DIAGNOSTICS If a response is received, the round-trip time is printed. In addition, specific symbols denote certain errors: .TP .BR "*" " No response" No valid response received before the timeout delay (see -w option). .TP .BR "!N" " No route to destination" There is no entry for the destination network in the routing table. .TP .BR "!A" " Communication with destination administratively prohibited" A firewall explicitly rejected the traffic. .TP .BR "!S" " Beyond scope of source address" The address scope of the source address is too small to reach the destination address. At the time of writing, this can only happen when using a link-local source address to reach a global scope destination. (Note: some IPv4 traceroute implementations use !S for source route error which is completely different) .TP .BR "!H" " Address unreachable" The host address is not reachable for some other reasons, particularly a link-layer failure (e.g. Neighbor discovery failure). .TP .BR "!P" " Unrecognized Next Header type encountered" The destination does not implement the layer-4 protocol used. You should retry with ICMPv6 Echo Requests (-I command line option) which MUST be supported by any IPv6 node. .SH SECURITY .RI "rltraceroute6 should be " "setuid" " " "root" " to allow use by non " privileged users. It will drop its root privileges before any attempt is made to send or receive data from the network so as to reduce the possible impact of a security vulnerability. .SH BUGS However useful they might be, -i and -r options are ignored by the official Linux kernel at the time of writing this manpage, and hence do not work as documented. Support for option -t was broken until Linux kernel version 2.6.18. Usage of Routing Header, with option -g, triggers an OOPS on Linux kernel versions below 2.6.17.12. Receiving TCP/SYN-ACK packets does not work on FreeBSD at all. This severely limits the usefulness of tcptraceroute6 on FreeBSD. Packet length takes the IPv6 header and, if present, extension headers into account. rltraceroute6 versions before 0.7.4 used it as IPv6 payload length instead, i.e. did not include the layer-3 headers in the computation. Linux iputils traceroute6 does not even include the UDP header. On the whole, the packet length semantic is very inconsistent among IPv6 traceroute implementations. .SH "SEE ALSO" ipv6(7), traceroute(8), tcptraceroute(8), traceroute6(8) .SH AUTHOR R\[char233]mi Denis-Courmont $Id: rltraceroute6.8 658 2010-10-31 20:56:30Z remi $ http://www.remlab.net/ndisc6/ ndisc6-1.0.1/doc/addr2name.10000644000175000001440000000557711463353776012335 00000000000000.\" ************************************************************************* .\" * Copyright © 2006 Rémi Denis-Courmont. * .\" * This program is free software: you can redistribute and/or modify * .\" * it under the terms of the GNU General Public License as published by * .\" * the Free Software Foundation, versions 2 or 3 of the license. * .\" * * .\" * This program is distributed in the hope that it will be useful, * .\" * but WITHOUT ANY WARRANTY; without even the implied warranty of * .\" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * .\" * GNU General Public License for more details. * .\" * * .\" * You should have received a copy of the GNU General Public License * .\" * along with this program. If not, see . * .\" ************************************************************************* .TH "ADDR2NAME" "1" "$Date: 2010-10-31 22:56:30 +0200 (dim. 31 oct. 2010) $" "addr2name" "User's Manual" .SH NAME addr2name, name2addr \- perform DNS lookups from scripts .SH SYNOPSIS .BR "addr2name" " [" "-46cmnr" "] [" "HOSTNAMES" "]" .BR "name2addr" " [" "-46cn" "] [" "HOSTNAMES" "]" .SH DESCRIPTON Write addresses or canonical hostname of specified names to the standard output. If no names are specified via the command line, they are read from the standard input. .SH OPTIONS .TP .BR "\-4" " or " "\-\-ipv4" Only try to perform IPv4 lookups. .TP .BR "\-6" " or " "\-\-ipv6" Only try to perform IPv6 lookups. .TP .BR "\-c" " or " "\-\-config" Only lookup and print results for address families that match locally configured addresses (If the system has no IPv4 resp IPv6 address, then IPv4 resp IPv6 addresses are ignored). .TP .BR "\-h" " or " "\-\-help" Display some help and exit. .TP .BR "\-m" " or " "\-\-multiple" Normally, if a name yields multiple results, only the first one is printed. With this optional parameter, all results will be printed on a single line, separated by spaces. .TP .BR "\-n" " or " "\-\-numeric" Prevent forward hostname lookup. This ensures that the input names are numeric addresses, which do not need to be looked up. Typically used along with the \-\-reverse option to convert numerical addresses to canonical hostnames. .TP .BR "\-r" " or " "\-\-reverse" Perform a reverse DNS lookup .RB "(enabled implicitly with " "addr2name" ")." .BR "addr2name" " prints numerical resolved addresses by default instead." .TP .BR "\-\-version" Display program version and license and exit. .SH "SEE ALSO" host(1), getaddrinfo(3), getnameinfo(3), resolv.conf(5) .SH AUTHOR R\[char233]mi Denis-Courmont $Id: addr2name.1 658 2010-10-31 20:56:30Z remi $ http://www.remlab.net/ndisc6/