Import Upstream version 1.0.23
This commit is contained in:
parent
8dab3abc97
commit
413f90b815
57 changed files with 1202 additions and 2498 deletions
14
ChangeLog
14
ChangeLog
|
@ -1,3 +1,17 @@
|
||||||
|
Version 1.0.23 October 19 2013
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Guus Sliepen (9):
|
||||||
|
Check for writability when waiting for a socket to finish connecting.
|
||||||
|
Don't send PING requests on connections which are not active yet.
|
||||||
|
Fix segfault when Name = $HOST but $HOST is not set.
|
||||||
|
Fix typos in the documentation.
|
||||||
|
Modernize the build system.
|
||||||
|
Get rid of the splay tree implementation.
|
||||||
|
Add description of IffOneQueue and MaxTimeout to the info manual.
|
||||||
|
Clean up child processes from proxy type exec.
|
||||||
|
Releasing 1.0.23.
|
||||||
|
|
||||||
Version 1.0.22 August 13 2013
|
Version 1.0.22 August 13 2013
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
19
Makefile.am
19
Makefile.am
|
@ -2,26 +2,11 @@
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = gnu
|
AUTOMAKE_OPTIONS = gnu
|
||||||
|
|
||||||
SUBDIRS = m4 lib src doc
|
SUBDIRS = m4 src doc
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
EXTRA_DIST = have.h system.h COPYING.README README.android
|
EXTRA_DIST = COPYING.README README.android
|
||||||
|
|
||||||
ChangeLog:
|
ChangeLog:
|
||||||
git log > ChangeLog
|
git log > ChangeLog
|
||||||
|
|
||||||
deb:
|
|
||||||
dpkg-buildpackage -rfakeroot
|
|
||||||
|
|
||||||
rpm: dist
|
|
||||||
cp $(distdir).tar.gz /usr/src/redhat/SOURCES/
|
|
||||||
cp redhat/tinc.spec /usr/src/redhat/SOURCES/
|
|
||||||
cd /usr/src/redhat/SOURCES/ && rpm -bb tinc.spec
|
|
||||||
|
|
||||||
release:
|
|
||||||
rm -f ChangeLog
|
|
||||||
$(MAKE) ChangeLog
|
|
||||||
echo "Please edit the NEWS file now..."
|
|
||||||
/usr/bin/editor NEWS
|
|
||||||
$(MAKE) dist
|
|
||||||
|
|
47
Makefile.in
47
Makefile.in
|
@ -1,4 +1,4 @@
|
||||||
# Makefile.in generated by automake 1.13.3 from Makefile.am.
|
# Makefile.in generated by automake 1.14 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
@ -81,12 +81,12 @@ subdir = .
|
||||||
DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
|
DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
|
||||||
$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
$(top_srcdir)/configure $(am__configure_deps) \
|
$(top_srcdir)/configure $(am__configure_deps) \
|
||||||
$(srcdir)/config.h.in COPYING THANKS config.guess config.sub \
|
$(srcdir)/config.h.in COPYING THANKS compile config.guess \
|
||||||
install-sh missing
|
config.sub depcomp install-sh missing
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
||||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
@ -195,7 +195,6 @@ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||||
distcleancheck_listfiles = find . -type f -print
|
distcleancheck_listfiles = find . -type f -print
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
AUTOCONF = @AUTOCONF@
|
AUTOCONF = @AUTOCONF@
|
||||||
|
@ -216,7 +215,6 @@ ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
INCLUDES = @INCLUDES@
|
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
@ -225,7 +223,6 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
LN_S = @LN_S@
|
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
|
@ -239,7 +236,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
PACKAGE_URL = @PACKAGE_URL@
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
RANLIB = @RANLIB@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
|
@ -295,9 +291,9 @@ top_build_prefix = @top_build_prefix@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
AUTOMAKE_OPTIONS = gnu
|
AUTOMAKE_OPTIONS = gnu
|
||||||
SUBDIRS = m4 lib src doc
|
SUBDIRS = m4 src doc
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
EXTRA_DIST = have.h system.h COPYING.README README.android
|
EXTRA_DIST = COPYING.README README.android
|
||||||
all: config.h
|
all: config.h
|
||||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
|
|
||||||
|
@ -338,8 +334,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||||
$(am__aclocal_m4_deps):
|
$(am__aclocal_m4_deps):
|
||||||
|
|
||||||
config.h: stamp-h1
|
config.h: stamp-h1
|
||||||
@if test ! -f $@; then rm -f stamp-h1; else :; fi
|
@test -f $@ || rm -f stamp-h1
|
||||||
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
|
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
|
||||||
|
|
||||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||||
@rm -f stamp-h1
|
@rm -f stamp-h1
|
||||||
|
@ -459,6 +455,12 @@ distclean-tags:
|
||||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
|
@case `sed 15q $(srcdir)/NEWS` in \
|
||||||
|
*"$(VERSION)"*) : ;; \
|
||||||
|
*) \
|
||||||
|
echo "NEWS not updated; not releasing" 1>&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
@ -539,10 +541,16 @@ dist-xz: distdir
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
dist-tarZ: distdir
|
dist-tarZ: distdir
|
||||||
|
@echo WARNING: "Support for shar distribution archives is" \
|
||||||
|
"deprecated." >&2
|
||||||
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
dist-shar: distdir
|
dist-shar: distdir
|
||||||
|
@echo WARNING: "Support for distribution archives compressed with" \
|
||||||
|
"legacy program 'compress' is deprecated." >&2
|
||||||
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
@ -765,21 +773,6 @@ uninstall-am:
|
||||||
ChangeLog:
|
ChangeLog:
|
||||||
git log > ChangeLog
|
git log > ChangeLog
|
||||||
|
|
||||||
deb:
|
|
||||||
dpkg-buildpackage -rfakeroot
|
|
||||||
|
|
||||||
rpm: dist
|
|
||||||
cp $(distdir).tar.gz /usr/src/redhat/SOURCES/
|
|
||||||
cp redhat/tinc.spec /usr/src/redhat/SOURCES/
|
|
||||||
cd /usr/src/redhat/SOURCES/ && rpm -bb tinc.spec
|
|
||||||
|
|
||||||
release:
|
|
||||||
rm -f ChangeLog
|
|
||||||
$(MAKE) ChangeLog
|
|
||||||
echo "Please edit the NEWS file now..."
|
|
||||||
/usr/bin/editor NEWS
|
|
||||||
$(MAKE) dist
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# 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.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
.NOEXPORT:
|
.NOEXPORT:
|
||||||
|
|
10
NEWS
10
NEWS
|
@ -1,3 +1,13 @@
|
||||||
|
Version 1.0.23 October 19 2013
|
||||||
|
|
||||||
|
* Start authentication immediately on outgoing connections (useful for sslh).
|
||||||
|
|
||||||
|
* Fixed segfault when Name = $HOST but $HOST is not set.
|
||||||
|
|
||||||
|
* Updated the build system and the documentation.
|
||||||
|
|
||||||
|
* Clean up child processes left over from Proxy = exec.
|
||||||
|
|
||||||
Version 1.0.22 August 13 2013
|
Version 1.0.22 August 13 2013
|
||||||
|
|
||||||
* Fixed the combination of Mode = router and DeviceType = tap.
|
* Fixed the combination of Mode = router and DeviceType = tap.
|
||||||
|
|
4
README
4
README
|
@ -1,4 +1,4 @@
|
||||||
This is the README file for tinc version 1.0.22. Installation
|
This is the README file for tinc version 1.0.23. Installation
|
||||||
instructions may be found in the INSTALL file.
|
instructions may be found in the INSTALL file.
|
||||||
|
|
||||||
tinc is Copyright (C) 1998-2013 by:
|
tinc is Copyright (C) 1998-2013 by:
|
||||||
|
@ -55,7 +55,7 @@ should be changed into "Device", and "Device" should be changed into
|
||||||
Compatibility
|
Compatibility
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Version 1.0.22 is compatible with 1.0pre8, 1.0 and later, but not with older
|
Version 1.0.23 is compatible with 1.0pre8, 1.0 and later, but not with older
|
||||||
versions of tinc.
|
versions of tinc.
|
||||||
|
|
||||||
|
|
||||||
|
|
122
aclocal.m4
vendored
122
aclocal.m4
vendored
|
@ -1,4 +1,4 @@
|
||||||
# generated automatically by aclocal 1.13.3 -*- Autoconf -*-
|
# generated automatically by aclocal 1.14 -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
|
||||||
# generated from the m4 files accompanying Automake X.Y.
|
# generated from the m4 files accompanying Automake X.Y.
|
||||||
# (This private macro should not be called outside this file.)
|
# (This private macro should not be called outside this file.)
|
||||||
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||||
[am__api_version='1.13'
|
[am__api_version='1.14'
|
||||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
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.
|
dnl require some minimum version. Point them to the right macro.
|
||||||
m4_if([$1], [1.13.3], [],
|
m4_if([$1], [1.14], [],
|
||||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
||||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
[AM_AUTOMAKE_VERSION([1.13.3])dnl
|
[AM_AUTOMAKE_VERSION([1.14])dnl
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||||
|
@ -418,6 +418,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
# This macro actually does too much. Some checks are only needed if
|
# 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.
|
# your package does certain things. But this isn't really a big deal.
|
||||||
|
|
||||||
|
dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
|
||||||
|
m4_define([AC_PROG_CC],
|
||||||
|
m4_defn([AC_PROG_CC])
|
||||||
|
[_AM_PROG_CC_C_O
|
||||||
|
])
|
||||||
|
|
||||||
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
|
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
|
||||||
# AM_INIT_AUTOMAKE([OPTIONS])
|
# AM_INIT_AUTOMAKE([OPTIONS])
|
||||||
# -----------------------------------------------
|
# -----------------------------------------------
|
||||||
|
@ -526,7 +532,48 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
|
||||||
AC_CONFIG_COMMANDS_PRE(dnl
|
AC_CONFIG_COMMANDS_PRE(dnl
|
||||||
[m4_provide_if([_AM_COMPILER_EXEEXT],
|
[m4_provide_if([_AM_COMPILER_EXEEXT],
|
||||||
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
|
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
|
||||||
])
|
|
||||||
|
# POSIX will say in a future version that running "rm -f" with no argument
|
||||||
|
# is OK; and we want to be able to make that assumption in our Makefile
|
||||||
|
# recipes. So use an aggressive probe to check that the usage we want is
|
||||||
|
# actually supported "in the wild" to an acceptable degree.
|
||||||
|
# See automake bug#10828.
|
||||||
|
# To make any issue more visible, cause the running configure to be aborted
|
||||||
|
# by default if the 'rm' program in use doesn't match our expectations; the
|
||||||
|
# user can still override this though.
|
||||||
|
if rm -f && rm -fr && rm -rf; then : OK; else
|
||||||
|
cat >&2 <<'END'
|
||||||
|
Oops!
|
||||||
|
|
||||||
|
Your 'rm' program seems unable to run without file operands specified
|
||||||
|
on the command line, even when the '-f' option is present. This is contrary
|
||||||
|
to the behaviour of most rm programs out there, and not conforming with
|
||||||
|
the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
|
||||||
|
|
||||||
|
Please tell bug-automake@gnu.org about your system, including the value
|
||||||
|
of your $PATH and any error possibly output before this message. This
|
||||||
|
can help us improve future automake versions.
|
||||||
|
|
||||||
|
END
|
||||||
|
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
|
||||||
|
echo 'Configuration will proceed anyway, since you have set the' >&2
|
||||||
|
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
|
||||||
|
echo >&2
|
||||||
|
else
|
||||||
|
cat >&2 <<'END'
|
||||||
|
Aborting the configuration process, to ensure you take notice of the issue.
|
||||||
|
|
||||||
|
You can download and install GNU coreutils to get an 'rm' implementation
|
||||||
|
that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
||||||
|
|
||||||
|
If you want to complete the configuration process using your problematic
|
||||||
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
||||||
|
to "yes", and re-run configure.
|
||||||
|
|
||||||
|
END
|
||||||
|
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
|
||||||
|
fi
|
||||||
|
fi])
|
||||||
|
|
||||||
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
|
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 add the conditional right here, as _AC_COMPILER_EXEEXT may be further
|
||||||
|
@ -534,7 +581,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
|
||||||
m4_define([_AC_COMPILER_EXEEXT],
|
m4_define([_AC_COMPILER_EXEEXT],
|
||||||
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_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.
|
# When config.status generates a header, we must update the stamp-h file.
|
||||||
# This file resides in the same directory as the config header
|
# This file resides in the same directory as the config header
|
||||||
# that is generated. The stamp files are numbered to have different names.
|
# that is generated. The stamp files are numbered to have different names.
|
||||||
|
@ -752,6 +798,70 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
||||||
AC_DEFUN([_AM_IF_OPTION],
|
AC_DEFUN([_AM_IF_OPTION],
|
||||||
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||||
|
|
||||||
|
# Copyright (C) 1999-2013 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_CC_C_O
|
||||||
|
# ---------------
|
||||||
|
# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
|
||||||
|
# to automatically call this.
|
||||||
|
AC_DEFUN([_AM_PROG_CC_C_O],
|
||||||
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
|
AC_REQUIRE_AUX_FILE([compile])dnl
|
||||||
|
AC_LANG_PUSH([C])dnl
|
||||||
|
AC_CACHE_CHECK(
|
||||||
|
[whether $CC understands -c and -o together],
|
||||||
|
[am_cv_prog_cc_c_o],
|
||||||
|
[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
|
||||||
|
# Make sure it works both with $CC and with simple cc.
|
||||||
|
# Following AC_PROG_CC_C_O, we do the test twice because some
|
||||||
|
# compilers refuse to overwrite an existing .o file with -o,
|
||||||
|
# though they will create one.
|
||||||
|
am_cv_prog_cc_c_o=yes
|
||||||
|
for am_i in 1 2; do
|
||||||
|
if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
|
||||||
|
&& test -f conftest2.$ac_objext; then
|
||||||
|
: OK
|
||||||
|
else
|
||||||
|
am_cv_prog_cc_c_o=no
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rm -f core conftest*
|
||||||
|
unset am_i])
|
||||||
|
if test "$am_cv_prog_cc_c_o" != 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_LANG_POP([C])])
|
||||||
|
|
||||||
|
# For backward compatibility.
|
||||||
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
||||||
|
|
||||||
|
# Copyright (C) 2001-2013 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_RUN_LOG(COMMAND)
|
||||||
|
# -------------------
|
||||||
|
# Run COMMAND, save the exit status in ac_status, and log it.
|
||||||
|
# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
|
||||||
|
AC_DEFUN([AM_RUN_LOG],
|
||||||
|
[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
|
||||||
|
($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
|
||||||
|
(exit $ac_status); }])
|
||||||
|
|
||||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||||
|
|
347
compile
Executable file
347
compile
Executable file
|
@ -0,0 +1,347 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
|
||||||
|
scriptversion=2012-10-14.11; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# 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 <bug-automake@gnu.org> or send patches to
|
||||||
|
# <automake-patches@gnu.org>.
|
||||||
|
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
|
||||||
|
# We need space, tab and new line, in precisely that order. Quoting is
|
||||||
|
# there to prevent tools from complaining about whitespace usage.
|
||||||
|
IFS=" "" $nl"
|
||||||
|
|
||||||
|
file_conv=
|
||||||
|
|
||||||
|
# func_file_conv build_file lazy
|
||||||
|
# Convert a $build file to $host form and store it in $file
|
||||||
|
# Currently only supports Windows hosts. If the determined conversion
|
||||||
|
# type is listed in (the comma separated) LAZY, no conversion will
|
||||||
|
# take place.
|
||||||
|
func_file_conv ()
|
||||||
|
{
|
||||||
|
file=$1
|
||||||
|
case $file in
|
||||||
|
/ | /[!/]*) # absolute file, and not a UNC file
|
||||||
|
if test -z "$file_conv"; then
|
||||||
|
# lazily determine how to convert abs files
|
||||||
|
case `uname -s` in
|
||||||
|
MINGW*)
|
||||||
|
file_conv=mingw
|
||||||
|
;;
|
||||||
|
CYGWIN*)
|
||||||
|
file_conv=cygwin
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
file_conv=wine
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
case $file_conv/,$2, in
|
||||||
|
*,$file_conv,*)
|
||||||
|
;;
|
||||||
|
mingw/*)
|
||||||
|
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||||
|
;;
|
||||||
|
cygwin/*)
|
||||||
|
file=`cygpath -m "$file" || echo "$file"`
|
||||||
|
;;
|
||||||
|
wine/*)
|
||||||
|
file=`winepath -w "$file" || echo "$file"`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_dashL linkdir
|
||||||
|
# Make cl look for libraries in LINKDIR
|
||||||
|
func_cl_dashL ()
|
||||||
|
{
|
||||||
|
func_file_conv "$1"
|
||||||
|
if test -z "$lib_path"; then
|
||||||
|
lib_path=$file
|
||||||
|
else
|
||||||
|
lib_path="$lib_path;$file"
|
||||||
|
fi
|
||||||
|
linker_opts="$linker_opts -LIBPATH:$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_dashl library
|
||||||
|
# Do a library search-path lookup for cl
|
||||||
|
func_cl_dashl ()
|
||||||
|
{
|
||||||
|
lib=$1
|
||||||
|
found=no
|
||||||
|
save_IFS=$IFS
|
||||||
|
IFS=';'
|
||||||
|
for dir in $lib_path $LIB
|
||||||
|
do
|
||||||
|
IFS=$save_IFS
|
||||||
|
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/$lib.dll.lib
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -f "$dir/$lib.lib"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/$lib.lib
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -f "$dir/lib$lib.a"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/lib$lib.a
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS=$save_IFS
|
||||||
|
|
||||||
|
if test "$found" != yes; then
|
||||||
|
lib=$lib.lib
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_wrapper cl arg...
|
||||||
|
# Adjust compile command to suit cl
|
||||||
|
func_cl_wrapper ()
|
||||||
|
{
|
||||||
|
# Assume a capable shell
|
||||||
|
lib_path=
|
||||||
|
shared=:
|
||||||
|
linker_opts=
|
||||||
|
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'.
|
||||||
|
eat=1
|
||||||
|
case $2 in
|
||||||
|
*.o | *.[oO][bB][jJ])
|
||||||
|
func_file_conv "$2"
|
||||||
|
set x "$@" -Fo"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
func_file_conv "$2"
|
||||||
|
set x "$@" -Fe"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
-I)
|
||||||
|
eat=1
|
||||||
|
func_file_conv "$2" mingw
|
||||||
|
set x "$@" -I"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-I*)
|
||||||
|
func_file_conv "${1#-I}" mingw
|
||||||
|
set x "$@" -I"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-l)
|
||||||
|
eat=1
|
||||||
|
func_cl_dashl "$2"
|
||||||
|
set x "$@" "$lib"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-l*)
|
||||||
|
func_cl_dashl "${1#-l}"
|
||||||
|
set x "$@" "$lib"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-L)
|
||||||
|
eat=1
|
||||||
|
func_cl_dashL "$2"
|
||||||
|
;;
|
||||||
|
-L*)
|
||||||
|
func_cl_dashL "${1#-L}"
|
||||||
|
;;
|
||||||
|
-static)
|
||||||
|
shared=false
|
||||||
|
;;
|
||||||
|
-Wl,*)
|
||||||
|
arg=${1#-Wl,}
|
||||||
|
save_ifs="$IFS"; IFS=','
|
||||||
|
for flag in $arg; do
|
||||||
|
IFS="$save_ifs"
|
||||||
|
linker_opts="$linker_opts $flag"
|
||||||
|
done
|
||||||
|
IFS="$save_ifs"
|
||||||
|
;;
|
||||||
|
-Xlinker)
|
||||||
|
eat=1
|
||||||
|
linker_opts="$linker_opts $2"
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||||
|
func_file_conv "$1"
|
||||||
|
set x "$@" -Tp"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||||
|
func_file_conv "$1" mingw
|
||||||
|
set x "$@" "$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
if test -n "$linker_opts"; then
|
||||||
|
linker_opts="-link$linker_opts"
|
||||||
|
fi
|
||||||
|
exec "$@" $linker_opts
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
eat=
|
||||||
|
|
||||||
|
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 <bug-automake@gnu.org>.
|
||||||
|
EOF
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
-v | --v*)
|
||||||
|
echo "compile $scriptversion"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||||
|
func_cl_wrapper "$@" # Doesn't return...
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ofile=
|
||||||
|
cfile=
|
||||||
|
|
||||||
|
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:
|
39
config.h.in
39
config.h.in
|
@ -1,12 +1,4 @@
|
||||||
/* config.h.in. Generated from configure.in by autoheader. */
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
|
||||||
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
|
||||||
systems. This function is required for `alloca.c' support on those systems.
|
|
||||||
*/
|
|
||||||
#undef CRAY_STACKSEG_END
|
|
||||||
|
|
||||||
/* Define to 1 if using `alloca.c'. */
|
|
||||||
#undef C_ALLOCA
|
|
||||||
|
|
||||||
/* Support for jumbograms (packets up to 9000 bytes) */
|
/* Support for jumbograms (packets up to 9000 bytes) */
|
||||||
#undef ENABLE_JUMBOGRAMS
|
#undef ENABLE_JUMBOGRAMS
|
||||||
|
@ -20,13 +12,6 @@
|
||||||
/* Support for VDE */
|
/* Support for VDE */
|
||||||
#undef ENABLE_VDE
|
#undef ENABLE_VDE
|
||||||
|
|
||||||
/* Define to 1 if you have `alloca', as a function or macro. */
|
|
||||||
#undef HAVE_ALLOCA
|
|
||||||
|
|
||||||
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
|
||||||
*/
|
|
||||||
#undef HAVE_ALLOCA_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||||
#undef HAVE_ARPA_INET_H
|
#undef HAVE_ARPA_INET_H
|
||||||
|
|
||||||
|
@ -121,10 +106,6 @@
|
||||||
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
|
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
|
||||||
#undef HAVE_LZO_LZO1X_H
|
#undef HAVE_LZO_LZO1X_H
|
||||||
|
|
||||||
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
|
|
||||||
to 0 otherwise. */
|
|
||||||
#undef HAVE_MALLOC
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <memory.h> header file. */
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
#undef HAVE_MEMORY_H
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
|
@ -230,10 +211,6 @@
|
||||||
/* Define to 1 if you have the `RAND_pseudo_bytes' function. */
|
/* Define to 1 if you have the `RAND_pseudo_bytes' function. */
|
||||||
#undef HAVE_RAND_PSEUDO_BYTES
|
#undef HAVE_RAND_PSEUDO_BYTES
|
||||||
|
|
||||||
/* Define to 1 if your system has a GNU libc compatible `realloc' function,
|
|
||||||
and to 0 otherwise. */
|
|
||||||
#undef HAVE_REALLOC
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `select' function. */
|
/* Define to 1 if you have the `select' function. */
|
||||||
#undef HAVE_SELECT
|
#undef HAVE_SELECT
|
||||||
|
|
||||||
|
@ -399,14 +376,6 @@
|
||||||
/* Define as the return type of signal handlers (`int' or `void'). */
|
/* Define as the return type of signal handlers (`int' or `void'). */
|
||||||
#undef RETSIGTYPE
|
#undef RETSIGTYPE
|
||||||
|
|
||||||
/* If using the C implementation of alloca, define if you know the
|
|
||||||
direction of stack growth for your system; otherwise it will be
|
|
||||||
automatically deduced at runtime.
|
|
||||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
|
||||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
|
||||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
|
||||||
#undef STACK_DIRECTION
|
|
||||||
|
|
||||||
/* Define to 1 if you have the ANSI C header files. */
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
#undef STDC_HEADERS
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
@ -463,15 +432,9 @@
|
||||||
/* Define to empty if `const' does not conform to ANSI C. */
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
#undef const
|
#undef const
|
||||||
|
|
||||||
/* Define to rpl_malloc if the replacement function should be used. */
|
|
||||||
#undef malloc
|
|
||||||
|
|
||||||
/* Define to `int' if <sys/types.h> does not define. */
|
/* Define to `int' if <sys/types.h> does not define. */
|
||||||
#undef pid_t
|
#undef pid_t
|
||||||
|
|
||||||
/* Define to rpl_realloc if the replacement function should be used. */
|
|
||||||
#undef realloc
|
|
||||||
|
|
||||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
#undef size_t
|
#undef size_t
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ(2.61)
|
AC_PREREQ(2.61)
|
||||||
AC_INIT
|
AC_INIT([tinc], [1.0.23])
|
||||||
AC_CONFIG_SRCDIR([src/tincd.c])
|
AC_CONFIG_SRCDIR([src/tincd.c])
|
||||||
AM_INIT_AUTOMAKE(tinc, 1.0.22)
|
AM_INIT_AUTOMAKE([1.11 check-news std-options subdir-objects nostdinc -Wall])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
|
@ -17,8 +17,6 @@ dnl Checks for programs.
|
||||||
AC_PROG_CC_C99
|
AC_PROG_CC_C99
|
||||||
AC_PROG_CPP
|
AC_PROG_CPP
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_LN_S
|
|
||||||
AC_PROG_RANLIB
|
|
||||||
|
|
||||||
dnl Check and set OS
|
dnl Check and set OS
|
||||||
|
|
||||||
|
@ -26,45 +24,45 @@ AC_CANONICAL_HOST
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
*linux*)
|
*linux*)
|
||||||
|
linux=true
|
||||||
AC_DEFINE(HAVE_LINUX, 1, [Linux])
|
AC_DEFINE(HAVE_LINUX, 1, [Linux])
|
||||||
[ rm -f src/device.c; ln -sf linux/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*freebsd*)
|
*freebsd*)
|
||||||
|
bsd=true
|
||||||
AC_DEFINE(HAVE_FREEBSD, 1, [FreeBSD])
|
AC_DEFINE(HAVE_FREEBSD, 1, [FreeBSD])
|
||||||
[ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*darwin*)
|
*darwin*)
|
||||||
|
bsd=true
|
||||||
AC_DEFINE(HAVE_DARWIN, 1, [Darwin (MacOS/X)])
|
AC_DEFINE(HAVE_DARWIN, 1, [Darwin (MacOS/X)])
|
||||||
[ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*solaris*)
|
*solaris*)
|
||||||
|
solaris=true
|
||||||
AC_DEFINE(HAVE_SOLARIS, 1, [Solaris/SunOS])
|
AC_DEFINE(HAVE_SOLARIS, 1, [Solaris/SunOS])
|
||||||
[ rm -f src/device.c; ln -sf solaris/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*openbsd*)
|
*openbsd*)
|
||||||
|
bsd=true
|
||||||
AC_DEFINE(HAVE_OPENBSD, 1, [OpenBSD])
|
AC_DEFINE(HAVE_OPENBSD, 1, [OpenBSD])
|
||||||
[ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*netbsd*)
|
*netbsd*)
|
||||||
|
bsd=true
|
||||||
AC_DEFINE(HAVE_NETBSD, 1, [NetBSD])
|
AC_DEFINE(HAVE_NETBSD, 1, [NetBSD])
|
||||||
[ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*dragonfly*)
|
*dragonfly*)
|
||||||
|
bsd=true
|
||||||
AC_DEFINE(HAVE_DRAGONFLY, 1, [DragonFly])
|
AC_DEFINE(HAVE_DRAGONFLY, 1, [DragonFly])
|
||||||
[ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*bsd*)
|
*bsd*)
|
||||||
|
bsd=true
|
||||||
AC_MSG_WARN("Unknown BSD variant, tinc might not compile or work!")
|
AC_MSG_WARN("Unknown BSD variant, tinc might not compile or work!")
|
||||||
AC_DEFINE(HAVE_BSD, 1, [Unknown BSD variant])
|
AC_DEFINE(HAVE_BSD, 1, [Unknown BSD variant])
|
||||||
[ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*cygwin*)
|
*cygwin*)
|
||||||
|
cygwin=true
|
||||||
AC_DEFINE(HAVE_CYGWIN, 1, [Cygwin])
|
AC_DEFINE(HAVE_CYGWIN, 1, [Cygwin])
|
||||||
[ rm -f src/device.c; ln -sf cygwin/device.c src/device.c ]
|
|
||||||
;;
|
;;
|
||||||
*mingw*)
|
*mingw*)
|
||||||
|
mingw=true
|
||||||
AC_DEFINE(HAVE_MINGW, 1, [MinGW])
|
AC_DEFINE(HAVE_MINGW, 1, [MinGW])
|
||||||
[ rm -f src/device.c; cp -f src/mingw/device.c src/device.c ]
|
|
||||||
LIBS="$LIBS -lws2_32 -lgdi32 -lcrypt32"
|
LIBS="$LIBS -lws2_32 -lgdi32 -lcrypt32"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -113,6 +111,11 @@ AC_ARG_WITH(windows2000,
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
AM_CONDITIONAL(LINUX, test "$linux" = true)
|
||||||
|
AM_CONDITIONAL(BSD, test "$bsd" = true)
|
||||||
|
AM_CONDITIONAL(SOLARIS, test "$solaris" = true)
|
||||||
|
AM_CONDITIONAL(MINGW, test "$mingw" = true)
|
||||||
|
AM_CONDITIONAL(CYGWIN, test "$cygwin" = true)
|
||||||
AM_CONDITIONAL(UML, test "$uml" = true)
|
AM_CONDITIONAL(UML, test "$uml" = true)
|
||||||
AM_CONDITIONAL(VDE, test "$vde" = true)
|
AM_CONDITIONAL(VDE, test "$vde" = true)
|
||||||
AM_CONDITIONAL(TUNEMU, test "$tunemu" = true)
|
AM_CONDITIONAL(TUNEMU, test "$tunemu" = true)
|
||||||
|
@ -134,13 +137,13 @@ dnl We do this in multiple stages, because unlike Linux all the other operating
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_CHECK_HEADERS([stdbool.h syslog.h sys/file.h sys/ioctl.h sys/mman.h sys/param.h sys/resource.h sys/socket.h sys/time.h time.h sys/uio.h sys/wait.h netdb.h arpa/inet.h dirent.h])
|
AC_CHECK_HEADERS([stdbool.h syslog.h sys/file.h sys/ioctl.h sys/mman.h sys/param.h sys/resource.h sys/socket.h sys/time.h time.h sys/uio.h sys/wait.h netdb.h arpa/inet.h dirent.h])
|
||||||
AC_CHECK_HEADERS([net/if.h net/if_types.h linux/if_tun.h net/if_tun.h net/tun/if_tun.h net/if_tap.h net/tap/if_tap.h net/ethernet.h net/if_arp.h netinet/in_systm.h netinet/in.h netinet/in6.h netpacket/packet.h],
|
AC_CHECK_HEADERS([net/if.h net/if_types.h linux/if_tun.h net/if_tun.h net/tun/if_tun.h net/if_tap.h net/tap/if_tap.h net/ethernet.h net/if_arp.h netinet/in_systm.h netinet/in.h netinet/in6.h netpacket/packet.h],
|
||||||
[], [], [#include "have.h"]
|
[], [], [#include "src/have.h"]
|
||||||
)
|
)
|
||||||
AC_CHECK_HEADERS([netinet/if_ether.h netinet/ip.h netinet/ip6.h],
|
AC_CHECK_HEADERS([netinet/if_ether.h netinet/ip.h netinet/ip6.h],
|
||||||
[], [], [#include "have.h"]
|
[], [], [#include "src/have.h"]
|
||||||
)
|
)
|
||||||
AC_CHECK_HEADERS([netinet/tcp.h netinet/ip_icmp.h netinet/icmp6.h],
|
AC_CHECK_HEADERS([netinet/tcp.h netinet/ip_icmp.h netinet/icmp6.h],
|
||||||
[], [], [#include "have.h"]
|
[], [], [#include "src/have.h"]
|
||||||
)
|
)
|
||||||
|
|
||||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
@ -154,18 +157,14 @@ AC_STRUCT_TM
|
||||||
tinc_ATTRIBUTE(__malloc__)
|
tinc_ATTRIBUTE(__malloc__)
|
||||||
|
|
||||||
AC_CHECK_TYPES([socklen_t, struct ether_header, struct arphdr, struct ether_arp, struct in_addr, struct addrinfo, struct ip, struct icmp, struct in6_addr, struct sockaddr_in6, struct ip6_hdr, struct icmp6_hdr, struct nd_neighbor_solicit, struct nd_opt_hdr], , ,
|
AC_CHECK_TYPES([socklen_t, struct ether_header, struct arphdr, struct ether_arp, struct in_addr, struct addrinfo, struct ip, struct icmp, struct in6_addr, struct sockaddr_in6, struct ip6_hdr, struct icmp6_hdr, struct nd_neighbor_solicit, struct nd_opt_hdr], , ,
|
||||||
[#include "have.h"]
|
[#include "src/have.h"]
|
||||||
)
|
)
|
||||||
|
|
||||||
dnl Checks for library functions.
|
dnl Checks for library functions.
|
||||||
AC_FUNC_MEMCMP
|
|
||||||
AC_FUNC_ALLOCA
|
|
||||||
AC_TYPE_SIGNAL
|
AC_TYPE_SIGNAL
|
||||||
AC_CHECK_FUNCS([asprintf daemon fchmod flock ftime fork get_current_dir_name gettimeofday mlockall pselect putenv random select strdup strerror strsignal strtol system unsetenv usleep vsyslog writev],
|
AC_CHECK_FUNCS([asprintf daemon fchmod flock ftime fork get_current_dir_name gettimeofday mlockall pselect putenv random select strdup strerror strsignal strtol system unsetenv usleep vsyslog writev],
|
||||||
[], [], [#include "have.h"]
|
[], [], [#include "src/have.h"]
|
||||||
)
|
)
|
||||||
AC_FUNC_MALLOC
|
|
||||||
AC_FUNC_REALLOC
|
|
||||||
|
|
||||||
dnl Support for SunOS
|
dnl Support for SunOS
|
||||||
|
|
||||||
|
@ -177,7 +176,7 @@ AC_CHECK_FUNC(gethostbyname, [], [
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_CHECK_DECLS([freeaddrinfo, gai_strerror, getaddrinfo, getnameinfo],
|
AC_CHECK_DECLS([freeaddrinfo, gai_strerror, getaddrinfo, getnameinfo],
|
||||||
[], [], [#include "have.h"]
|
[], [], [#include "src/have.h"]
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_CACHE_SAVE
|
AC_CACHE_SAVE
|
||||||
|
@ -196,8 +195,6 @@ AC_ARG_ENABLE(jumbograms,
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_SUBST(INCLUDES)
|
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile m4/Makefile])
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile lib/Makefile m4/Makefile])
|
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
|
@ -6,7 +6,7 @@ man_MANS = tincd.8 tinc.conf.5
|
||||||
|
|
||||||
EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.conf.5.in sample-config.tar.gz
|
EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.conf.5.in sample-config.tar.gz
|
||||||
|
|
||||||
CLEANFILES = *.html tinc.info tincd.8 tinc.conf.5 tincinclude.texi
|
CLEANFILES = *.html tincd.8 tinc.conf.5 tincinclude.texi
|
||||||
|
|
||||||
# Use `ginstall' in the definition of man_MANS to avoid
|
# Use `ginstall' in the definition of man_MANS to avoid
|
||||||
# confusion with the `install' target. The install rule transforms `ginstall'
|
# confusion with the `install' target. The install rule transforms `ginstall'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Makefile.in generated by automake 1.13.3 from Makefile.am.
|
# Makefile.in generated by automake 1.14 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
@ -81,7 +81,7 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am texinfo.tex
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
||||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
@ -130,7 +130,7 @@ AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
|
||||||
am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
|
am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
|
||||||
am__v_texidevnull_0 = > /dev/null
|
am__v_texidevnull_0 = > /dev/null
|
||||||
am__v_texidevnull_1 =
|
am__v_texidevnull_1 =
|
||||||
INFO_DEPS = tinc.info
|
INFO_DEPS = $(srcdir)/tinc.info
|
||||||
am__TEXINFO_TEX_DIR = $(srcdir)
|
am__TEXINFO_TEX_DIR = $(srcdir)
|
||||||
DVIS = tinc.dvi
|
DVIS = tinc.dvi
|
||||||
PDFS = tinc.pdf
|
PDFS = tinc.pdf
|
||||||
|
@ -188,7 +188,6 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
# to install before applying any user-specified name transformations.
|
# to install before applying any user-specified name transformations.
|
||||||
transform = s/ginstall/install/; @program_transform_name@
|
transform = s/ginstall/install/; @program_transform_name@
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
AUTOCONF = @AUTOCONF@
|
AUTOCONF = @AUTOCONF@
|
||||||
|
@ -209,7 +208,6 @@ ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
INCLUDES = @INCLUDES@
|
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
@ -218,7 +216,6 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
LN_S = @LN_S@
|
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
|
@ -232,7 +229,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
PACKAGE_URL = @PACKAGE_URL@
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
RANLIB = @RANLIB@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
|
@ -290,7 +286,7 @@ top_srcdir = @top_srcdir@
|
||||||
info_TEXINFOS = tinc.texi
|
info_TEXINFOS = tinc.texi
|
||||||
man_MANS = tincd.8 tinc.conf.5
|
man_MANS = tincd.8 tinc.conf.5
|
||||||
EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.conf.5.in sample-config.tar.gz
|
EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.conf.5.in sample-config.tar.gz
|
||||||
CLEANFILES = *.html tinc.info tincd.8 tinc.conf.5 tincinclude.texi
|
CLEANFILES = *.html tincd.8 tinc.conf.5 tincinclude.texi
|
||||||
substitute = sed \
|
substitute = sed \
|
||||||
-e s,'@PACKAGE\@',"$(PACKAGE)",g \
|
-e s,'@PACKAGE\@',"$(PACKAGE)",g \
|
||||||
-e s,'@VERSION\@',"$(VERSION)",g \
|
-e s,'@VERSION\@',"$(VERSION)",g \
|
||||||
|
@ -300,7 +296,7 @@ substitute = sed \
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
.SUFFIXES: .dvi .ps
|
.SUFFIXES: .dvi .html .info .pdf .ps .texi
|
||||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
@for dep in $?; do \
|
@for dep in $?; do \
|
||||||
case '$(am__configure_deps)' in \
|
case '$(am__configure_deps)' in \
|
||||||
|
@ -332,49 +328,53 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
$(am__aclocal_m4_deps):
|
$(am__aclocal_m4_deps):
|
||||||
|
|
||||||
tinc.info: tinc.texi
|
.texi.info:
|
||||||
$(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
|
$(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
|
||||||
|
am__cwd=`pwd` && $(am__cd) $(srcdir) && \
|
||||||
rm -rf $$backupdir && mkdir $$backupdir && \
|
rm -rf $$backupdir && mkdir $$backupdir && \
|
||||||
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
|
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
|
||||||
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
|
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
|
||||||
if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
|
if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
|
||||||
done; \
|
done; \
|
||||||
else :; fi && \
|
else :; fi && \
|
||||||
|
cd "$$am__cwd"; \
|
||||||
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||||
-o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi; \
|
-o $@ $<; \
|
||||||
then \
|
then \
|
||||||
rc=0; \
|
rc=0; \
|
||||||
|
$(am__cd) $(srcdir); \
|
||||||
else \
|
else \
|
||||||
rc=$$?; \
|
rc=$$?; \
|
||||||
|
$(am__cd) $(srcdir) && \
|
||||||
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
|
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
|
||||||
fi; \
|
fi; \
|
||||||
rm -rf $$backupdir; exit $$rc
|
rm -rf $$backupdir; exit $$rc
|
||||||
|
|
||||||
tinc.dvi: tinc.texi
|
.texi.dvi:
|
||||||
$(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
$(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||||
$(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
|
$(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
|
||||||
`test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi
|
$<
|
||||||
|
|
||||||
tinc.pdf: tinc.texi
|
.texi.pdf:
|
||||||
$(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
$(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||||
$(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
|
$(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
|
||||||
`test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi
|
$<
|
||||||
|
|
||||||
tinc.html: tinc.texi
|
.texi.html:
|
||||||
$(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
|
$(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
|
||||||
$(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
$(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||||
-o $(@:.html=.htp) `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi; \
|
-o $(@:.html=.htp) $<; \
|
||||||
then \
|
then \
|
||||||
rm -rf $@; \
|
rm -rf $@ && mv $(@:.html=.htp) $@; \
|
||||||
if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
|
|
||||||
mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
|
|
||||||
else \
|
else \
|
||||||
if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
|
rm -rf $(@:.html=.htp); exit 1; \
|
||||||
rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
|
|
||||||
exit 1; \
|
|
||||||
fi
|
fi
|
||||||
|
$(srcdir)/tinc.info: tinc.texi
|
||||||
|
tinc.dvi: tinc.texi
|
||||||
|
tinc.pdf: tinc.texi
|
||||||
|
tinc.html: tinc.texi
|
||||||
.dvi.ps:
|
.dvi.ps:
|
||||||
$(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
$(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
$(DVIPS) $(AM_V_texinfo) -o $@ $<
|
$(DVIPS) $(AM_V_texinfo) -o $@ $<
|
||||||
|
|
Binary file not shown.
149
doc/tinc.info
149
doc/tinc.info
|
@ -5,7 +5,7 @@ START-INFO-DIR-ENTRY
|
||||||
* tinc: (tinc). The tinc Manual.
|
* tinc: (tinc). The tinc Manual.
|
||||||
END-INFO-DIR-ENTRY
|
END-INFO-DIR-ENTRY
|
||||||
|
|
||||||
This is the info manual for tinc version 1.0.21, a Virtual Private
|
This is the info manual for tinc version 1.0.22, a Virtual Private
|
||||||
Network daemon.
|
Network daemon.
|
||||||
|
|
||||||
Copyright (C) 1998-2013 Ivo Timmermans, Guus Sliepen
|
Copyright (C) 1998-2013 Ivo Timmermans, Guus Sliepen
|
||||||
|
@ -868,6 +868,9 @@ Hostnames = <yes|no> (no)
|
||||||
configuration file, but whether hostnames should be resolved while
|
configuration file, but whether hostnames should be resolved while
|
||||||
logging.
|
logging.
|
||||||
|
|
||||||
|
IffOneQueue = <yes|no> (no) [experimental]
|
||||||
|
(Linux only) Set IFF_ONE_QUEUE flag on TUN/TAP devices.
|
||||||
|
|
||||||
Interface = <INTERFACE>
|
Interface = <INTERFACE>
|
||||||
Defines the name of the interface corresponding to the virtual
|
Defines the name of the interface corresponding to the virtual
|
||||||
network device. Depending on the operating system and the type of
|
network device. Depending on the operating system and the type of
|
||||||
|
@ -876,6 +879,12 @@ Interface = <INTERFACE>
|
||||||
interface will be used. If you specified a Device, this variable
|
interface will be used. If you specified a Device, this variable
|
||||||
is almost always already correctly set.
|
is almost always already correctly set.
|
||||||
|
|
||||||
|
KeyExpire = <SECONDS> (3600)
|
||||||
|
This option controls the time the encryption keys used to encrypt
|
||||||
|
the data are valid. It is common practice to change keys at
|
||||||
|
regular intervals to make it even harder for crackers, even though
|
||||||
|
it is thought to be nearly impossible to crack a single key.
|
||||||
|
|
||||||
LocalDiscovery = <yes | no> (no) [experimental]
|
LocalDiscovery = <yes | no> (no) [experimental]
|
||||||
When enabled, tinc will try to detect peers that are on the same
|
When enabled, tinc will try to detect peers that are on the same
|
||||||
local network. This will allow direct communication using LAN
|
local network. This will allow direct communication using LAN
|
||||||
|
@ -887,6 +896,15 @@ LocalDiscovery = <yes | no> (no) [experimental]
|
||||||
packets to the LAN during path MTU discovery. This feature may not
|
packets to the LAN during path MTU discovery. This feature may not
|
||||||
work in all possible situations.
|
work in all possible situations.
|
||||||
|
|
||||||
|
MACExpire = <SECONDS> (600)
|
||||||
|
This option controls the amount of time MAC addresses are kept
|
||||||
|
before they are removed. This only has effect when Mode is set to
|
||||||
|
"switch".
|
||||||
|
|
||||||
|
MaxTimeout = <SECONDS> (900)
|
||||||
|
This is the maximum delay before trying to reconnect to other tinc
|
||||||
|
daemons.
|
||||||
|
|
||||||
Mode = <router|switch|hub> (router)
|
Mode = <router|switch|hub> (router)
|
||||||
This option selects the way packets are routed to other daemons.
|
This option selects the way packets are routed to other daemons.
|
||||||
|
|
||||||
|
@ -914,17 +932,6 @@ Mode = <router|switch|hub> (router)
|
||||||
every packet will be broadcast to the other daemons while no
|
every packet will be broadcast to the other daemons while no
|
||||||
routing table is managed.
|
routing table is managed.
|
||||||
|
|
||||||
KeyExpire = <SECONDS> (3600)
|
|
||||||
This option controls the time the encryption keys used to encrypt
|
|
||||||
the data are valid. It is common practice to change keys at
|
|
||||||
regular intervals to make it even harder for crackers, even though
|
|
||||||
it is thought to be nearly impossible to crack a single key.
|
|
||||||
|
|
||||||
MACExpire = <SECONDS> (600)
|
|
||||||
This option controls the amount of time MAC addresses are kept
|
|
||||||
before they are removed. This only has effect when Mode is set to
|
|
||||||
"switch".
|
|
||||||
|
|
||||||
Name = <NAME> [required]
|
Name = <NAME> [required]
|
||||||
This is a symbolic name for this connection. The name should
|
This is a symbolic name for this connection. The name should
|
||||||
consist only of alfanumeric and underscore characters (a-z, A-Z,
|
consist only of alfanumeric and underscore characters (a-z, A-Z,
|
||||||
|
@ -967,7 +974,7 @@ ProcessPriority = <low|normal|high>
|
||||||
adjusted. Increasing the priority may help to reduce latency and
|
adjusted. Increasing the priority may help to reduce latency and
|
||||||
packet loss on the VPN.
|
packet loss on the VPN.
|
||||||
|
|
||||||
Proxy = socks4 | socks4 | http | exec ... [experimental]
|
Proxy = socks4 | socks5 | http | exec ... [experimental]
|
||||||
Use a proxy when making outgoing connections. The following proxy
|
Use a proxy when making outgoing connections. The following proxy
|
||||||
types are currently supported:
|
types are currently supported:
|
||||||
|
|
||||||
|
@ -976,7 +983,7 @@ Proxy = socks4 | socks4 | http | exec ... [experimental]
|
||||||
Optionally, a USERNAME can be supplied which will be passed on
|
Optionally, a USERNAME can be supplied which will be passed on
|
||||||
to the proxy server.
|
to the proxy server.
|
||||||
|
|
||||||
socks4 <ADDRESS> <PORT> [<USERNAME> <PASSWORD>]
|
socks5 <ADDRESS> <PORT> [<USERNAME> <PASSWORD>]
|
||||||
Connect to the proxy using the SOCKS version 5 protocol. If a
|
Connect to the proxy using the SOCKS version 5 protocol. If a
|
||||||
USERNAME and PASSWORD are given, basic username/password
|
USERNAME and PASSWORD are given, basic username/password
|
||||||
authentication will be used, otherwise no authentication will
|
authentication will be used, otherwise no authentication will
|
||||||
|
@ -1001,7 +1008,7 @@ ReplayWindow = <bytes> (16)
|
||||||
pass all traffic, but leaves tinc vulnerable to replay-based
|
pass all traffic, but leaves tinc vulnerable to replay-based
|
||||||
attacks on your traffic.
|
attacks on your traffic.
|
||||||
|
|
||||||
StrictSubnets <yes|no> (no) [experimental]
|
StrictSubnets = <yes|no> (no) [experimental]
|
||||||
When this option is enabled tinc will only use Subnet statements
|
When this option is enabled tinc will only use Subnet statements
|
||||||
which are present in the host config files in the local
|
which are present in the host config files in the local
|
||||||
'/etc/tinc/NETNAME/hosts/' directory.
|
'/etc/tinc/NETNAME/hosts/' directory.
|
||||||
|
@ -2457,7 +2464,7 @@ Concept Index
|
||||||
* example: Example configuration.
|
* example: Example configuration.
|
||||||
(line 6)
|
(line 6)
|
||||||
* exec: Main configuration variables.
|
* exec: Main configuration variables.
|
||||||
(line 308)
|
(line 315)
|
||||||
* Forwarding: Main configuration variables.
|
* Forwarding: Main configuration variables.
|
||||||
(line 152)
|
(line 152)
|
||||||
* frame type: The UDP tunnel. (line 6)
|
* frame type: The UDP tunnel. (line 6)
|
||||||
|
@ -2466,40 +2473,44 @@ Concept Index
|
||||||
* Hostnames: Main configuration variables.
|
* Hostnames: Main configuration variables.
|
||||||
(line 180)
|
(line 180)
|
||||||
* http: Main configuration variables.
|
* http: Main configuration variables.
|
||||||
(line 305)
|
(line 312)
|
||||||
* hub: Main configuration variables.
|
* hub: Main configuration variables.
|
||||||
(line 232)
|
(line 250)
|
||||||
* ID: Authentication protocol.
|
* ID: Authentication protocol.
|
||||||
(line 10)
|
(line 10)
|
||||||
|
* IffOneQueue: Main configuration variables.
|
||||||
|
(line 191)
|
||||||
* IndirectData: Host configuration variables.
|
* IndirectData: Host configuration variables.
|
||||||
(line 34)
|
(line 34)
|
||||||
* Interface: Main configuration variables.
|
* Interface: Main configuration variables.
|
||||||
(line 191)
|
(line 194)
|
||||||
* INTERFACE: Scripts. (line 56)
|
* INTERFACE: Scripts. (line 56)
|
||||||
* IRC: Contact information. (line 9)
|
* IRC: Contact information. (line 9)
|
||||||
* key generation: Generating keypairs. (line 6)
|
* key generation: Generating keypairs. (line 6)
|
||||||
* KeyExpire: Main configuration variables.
|
* KeyExpire: Main configuration variables.
|
||||||
(line 237)
|
(line 202)
|
||||||
* KEY_CHANGED: The meta-protocol. (line 63)
|
* KEY_CHANGED: The meta-protocol. (line 63)
|
||||||
* libraries: Libraries. (line 6)
|
* libraries: Libraries. (line 6)
|
||||||
* license: OpenSSL. (line 35)
|
* license: OpenSSL. (line 35)
|
||||||
* LocalDiscovery: Main configuration variables.
|
* LocalDiscovery: Main configuration variables.
|
||||||
(line 199)
|
(line 208)
|
||||||
* lzo: lzo. (line 6)
|
* lzo: lzo. (line 6)
|
||||||
* MACExpire: Main configuration variables.
|
* MACExpire: Main configuration variables.
|
||||||
(line 243)
|
(line 219)
|
||||||
* MACLength: Host configuration variables.
|
* MACLength: Host configuration variables.
|
||||||
(line 42)
|
(line 42)
|
||||||
|
* MaxTimeout: Main configuration variables.
|
||||||
|
(line 224)
|
||||||
* meta-protocol: The meta-connection. (line 18)
|
* meta-protocol: The meta-connection. (line 18)
|
||||||
* META_KEY: Authentication protocol.
|
* META_KEY: Authentication protocol.
|
||||||
(line 10)
|
(line 10)
|
||||||
* Mode: Main configuration variables.
|
* Mode: Main configuration variables.
|
||||||
(line 210)
|
(line 228)
|
||||||
* multicast: Main configuration variables.
|
* multicast: Main configuration variables.
|
||||||
(line 99)
|
(line 99)
|
||||||
* multiple networks: Multiple networks. (line 6)
|
* multiple networks: Multiple networks. (line 6)
|
||||||
* Name: Main configuration variables.
|
* Name: Main configuration variables.
|
||||||
(line 248)
|
(line 255)
|
||||||
* NAME: Scripts. (line 50)
|
* NAME: Scripts. (line 50)
|
||||||
* netmask: Network interfaces. (line 33)
|
* netmask: Network interfaces. (line 33)
|
||||||
* netname: Multiple networks. (line 6)
|
* netname: Multiple networks. (line 6)
|
||||||
|
@ -2513,9 +2524,9 @@ Concept Index
|
||||||
(line 67)
|
(line 67)
|
||||||
* PING: The meta-protocol. (line 88)
|
* PING: The meta-protocol. (line 88)
|
||||||
* PingInterval: Main configuration variables.
|
* PingInterval: Main configuration variables.
|
||||||
(line 259)
|
(line 266)
|
||||||
* PingTimeout: Main configuration variables.
|
* PingTimeout: Main configuration variables.
|
||||||
(line 263)
|
(line 270)
|
||||||
* platforms: Supported platforms. (line 6)
|
* platforms: Supported platforms. (line 6)
|
||||||
* PMTU: Host configuration variables.
|
* PMTU: Host configuration variables.
|
||||||
(line 47)
|
(line 47)
|
||||||
|
@ -2526,17 +2537,17 @@ Concept Index
|
||||||
(line 55)
|
(line 55)
|
||||||
* port numbers: Other files. (line 17)
|
* port numbers: Other files. (line 17)
|
||||||
* PriorityInheritance: Main configuration variables.
|
* PriorityInheritance: Main configuration variables.
|
||||||
(line 269)
|
(line 276)
|
||||||
* private: Virtual Private Networks.
|
* private: Virtual Private Networks.
|
||||||
(line 10)
|
(line 10)
|
||||||
* PrivateKey: Main configuration variables.
|
* PrivateKey: Main configuration variables.
|
||||||
(line 274)
|
(line 281)
|
||||||
* PrivateKeyFile: Main configuration variables.
|
* PrivateKeyFile: Main configuration variables.
|
||||||
(line 280)
|
(line 287)
|
||||||
* ProcessPriority: Main configuration variables.
|
* ProcessPriority: Main configuration variables.
|
||||||
(line 285)
|
(line 292)
|
||||||
* Proxy: Main configuration variables.
|
* Proxy: Main configuration variables.
|
||||||
(line 290)
|
(line 297)
|
||||||
* PublicKey: Host configuration variables.
|
* PublicKey: Host configuration variables.
|
||||||
(line 59)
|
(line 59)
|
||||||
* PublicKeyFile: Host configuration variables.
|
* PublicKeyFile: Host configuration variables.
|
||||||
|
@ -2547,11 +2558,11 @@ Concept Index
|
||||||
* REMOTEADDRESS: Scripts. (line 65)
|
* REMOTEADDRESS: Scripts. (line 65)
|
||||||
* REMOTEPORT: Scripts. (line 68)
|
* REMOTEPORT: Scripts. (line 68)
|
||||||
* ReplayWindow: Main configuration variables.
|
* ReplayWindow: Main configuration variables.
|
||||||
(line 313)
|
(line 320)
|
||||||
* requirements: Libraries. (line 6)
|
* requirements: Libraries. (line 6)
|
||||||
* REQ_KEY: The meta-protocol. (line 63)
|
* REQ_KEY: The meta-protocol. (line 63)
|
||||||
* router: Main configuration variables.
|
* router: Main configuration variables.
|
||||||
(line 213)
|
(line 231)
|
||||||
* runtime options: Runtime options. (line 9)
|
* runtime options: Runtime options. (line 9)
|
||||||
* scalability: tinc. (line 19)
|
* scalability: tinc. (line 19)
|
||||||
* scripts: Scripts. (line 6)
|
* scripts: Scripts. (line 6)
|
||||||
|
@ -2559,11 +2570,11 @@ Concept Index
|
||||||
(line 18)
|
(line 18)
|
||||||
* signals: Signals. (line 6)
|
* signals: Signals. (line 6)
|
||||||
* socks4: Main configuration variables.
|
* socks4: Main configuration variables.
|
||||||
(line 294)
|
(line 301)
|
||||||
* socks5: Main configuration variables.
|
* socks5: Main configuration variables.
|
||||||
(line 299)
|
(line 306)
|
||||||
* StrictSubnets: Main configuration variables.
|
* StrictSubnets: Main configuration variables.
|
||||||
(line 324)
|
(line 331)
|
||||||
* Subnet: Host configuration variables.
|
* Subnet: Host configuration variables.
|
||||||
(line 74)
|
(line 74)
|
||||||
* SUBNET: Scripts. (line 72)
|
* SUBNET: Scripts. (line 72)
|
||||||
|
@ -2571,7 +2582,7 @@ Concept Index
|
||||||
(line 96)
|
(line 96)
|
||||||
* SVPN: Security. (line 11)
|
* SVPN: Security. (line 11)
|
||||||
* switch: Main configuration variables.
|
* switch: Main configuration variables.
|
||||||
(line 221)
|
(line 239)
|
||||||
* TCP: The meta-connection. (line 10)
|
* TCP: The meta-connection. (line 10)
|
||||||
* TCPonly: Host configuration variables.
|
* TCPonly: Host configuration variables.
|
||||||
(line 103)
|
(line 103)
|
||||||
|
@ -2585,16 +2596,16 @@ Concept Index
|
||||||
* tunifhead: Main configuration variables.
|
* tunifhead: Main configuration variables.
|
||||||
(line 134)
|
(line 134)
|
||||||
* TunnelServer: Main configuration variables.
|
* TunnelServer: Main configuration variables.
|
||||||
(line 329)
|
(line 336)
|
||||||
* tunnohead: Main configuration variables.
|
* tunnohead: Main configuration variables.
|
||||||
(line 128)
|
(line 128)
|
||||||
* UDP: The UDP tunnel. (line 30)
|
* UDP: The UDP tunnel. (line 30)
|
||||||
* UDP <1>: Encryption of network packets.
|
* UDP <1>: Encryption of network packets.
|
||||||
(line 12)
|
(line 12)
|
||||||
* UDPRcvBuf: Main configuration variables.
|
* UDPRcvBuf: Main configuration variables.
|
||||||
(line 336)
|
(line 343)
|
||||||
* UDPSndBuf: Main configuration variables.
|
* UDPSndBuf: Main configuration variables.
|
||||||
(line 341)
|
(line 348)
|
||||||
* UML: Main configuration variables.
|
* UML: Main configuration variables.
|
||||||
(line 110)
|
(line 110)
|
||||||
* Universal tun/tap: Configuration of Linux kernels.
|
* Universal tun/tap: Configuration of Linux kernels.
|
||||||
|
@ -2646,34 +2657,34 @@ Node: Multiple networks21634
|
||||||
Node: How connections work23059
|
Node: How connections work23059
|
||||||
Node: Configuration files24281
|
Node: Configuration files24281
|
||||||
Node: Main configuration variables25669
|
Node: Main configuration variables25669
|
||||||
Node: Host configuration variables41412
|
Node: Host configuration variables41635
|
||||||
Node: Scripts46767
|
Node: Scripts46990
|
||||||
Node: How to configure49530
|
Node: How to configure49753
|
||||||
Node: Generating keypairs50787
|
Node: Generating keypairs51010
|
||||||
Node: Network interfaces51286
|
Node: Network interfaces51509
|
||||||
Node: Example configuration53134
|
Node: Example configuration53357
|
||||||
Node: Running tinc58459
|
Node: Running tinc58682
|
||||||
Node: Runtime options59049
|
Node: Runtime options59272
|
||||||
Node: Signals62351
|
Node: Signals62574
|
||||||
Node: Debug levels63542
|
Node: Debug levels63765
|
||||||
Node: Solving problems64478
|
Node: Solving problems64701
|
||||||
Node: Error messages66030
|
Node: Error messages66253
|
||||||
Node: Sending bug reports70039
|
Node: Sending bug reports70262
|
||||||
Node: Technical information70986
|
Node: Technical information71209
|
||||||
Node: The connection71217
|
Node: The connection71440
|
||||||
Node: The UDP tunnel71529
|
Node: The UDP tunnel71752
|
||||||
Node: The meta-connection74592
|
Node: The meta-connection74815
|
||||||
Node: The meta-protocol76061
|
Node: The meta-protocol76284
|
||||||
Node: Security81078
|
Node: Security81301
|
||||||
Node: Authentication protocol82211
|
Node: Authentication protocol82434
|
||||||
Node: Encryption of network packets87228
|
Node: Encryption of network packets87451
|
||||||
Node: Security issues88604
|
Node: Security issues88827
|
||||||
Node: Platform specific information90231
|
Node: Platform specific information90454
|
||||||
Node: Interface configuration90459
|
Node: Interface configuration90682
|
||||||
Node: Routes92912
|
Node: Routes93135
|
||||||
Node: About us94829
|
Node: About us95052
|
||||||
Node: Contact information95004
|
Node: Contact information95227
|
||||||
Node: Authors95408
|
Node: Authors95631
|
||||||
Node: Concept Index95813
|
Node: Concept Index96036
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|
|
@ -950,6 +950,10 @@ it does a lookup if your DNS server is not responding.
|
||||||
This does not affect resolving hostnames to IP addresses from the
|
This does not affect resolving hostnames to IP addresses from the
|
||||||
configuration file, but whether hostnames should be resolved while logging.
|
configuration file, but whether hostnames should be resolved while logging.
|
||||||
|
|
||||||
|
@cindex IffOneQueue
|
||||||
|
@item IffOneQueue = <yes|no> (no) [experimental]
|
||||||
|
(Linux only) Set IFF_ONE_QUEUE flag on TUN/TAP devices.
|
||||||
|
|
||||||
@cindex Interface
|
@cindex Interface
|
||||||
@item Interface = <@var{interface}>
|
@item Interface = <@var{interface}>
|
||||||
Defines the name of the interface corresponding to the virtual network device.
|
Defines the name of the interface corresponding to the virtual network device.
|
||||||
|
@ -957,6 +961,13 @@ Depending on the operating system and the type of device this may or may not act
|
||||||
Under Windows, this variable is used to select which network interface will be used.
|
Under Windows, this variable is used to select which network interface will be used.
|
||||||
If you specified a Device, this variable is almost always already correctly set.
|
If you specified a Device, this variable is almost always already correctly set.
|
||||||
|
|
||||||
|
@cindex KeyExpire
|
||||||
|
@item KeyExpire = <@var{seconds}> (3600)
|
||||||
|
This option controls the time the encryption keys used to encrypt the data
|
||||||
|
are valid. It is common practice to change keys at regular intervals to
|
||||||
|
make it even harder for crackers, even though it is thought to be nearly
|
||||||
|
impossible to crack a single key.
|
||||||
|
|
||||||
@cindex LocalDiscovery
|
@cindex LocalDiscovery
|
||||||
@item LocalDiscovery = <yes | no> (no) [experimental]
|
@item LocalDiscovery = <yes | no> (no) [experimental]
|
||||||
When enabled, tinc will try to detect peers that are on the same local network.
|
When enabled, tinc will try to detect peers that are on the same local network.
|
||||||
|
@ -967,6 +978,15 @@ which normally would prevent the peers from learning each other's LAN address.
|
||||||
Currently, local discovery is implemented by sending broadcast packets to the LAN during path MTU discovery.
|
Currently, local discovery is implemented by sending broadcast packets to the LAN during path MTU discovery.
|
||||||
This feature may not work in all possible situations.
|
This feature may not work in all possible situations.
|
||||||
|
|
||||||
|
@cindex MACExpire
|
||||||
|
@item MACExpire = <@var{seconds}> (600)
|
||||||
|
This option controls the amount of time MAC addresses are kept before they are removed.
|
||||||
|
This only has effect when Mode is set to "switch".
|
||||||
|
|
||||||
|
@cindex MaxTimeout
|
||||||
|
@item MaxTimeout = <@var{seconds}> (900)
|
||||||
|
This is the maximum delay before trying to reconnect to other tinc daemons.
|
||||||
|
|
||||||
@cindex Mode
|
@cindex Mode
|
||||||
@item Mode = <router|switch|hub> (router)
|
@item Mode = <router|switch|hub> (router)
|
||||||
This option selects the way packets are routed to other daemons.
|
This option selects the way packets are routed to other daemons.
|
||||||
|
@ -996,18 +1016,6 @@ every packet will be broadcast to the other daemons
|
||||||
while no routing table is managed.
|
while no routing table is managed.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@cindex KeyExpire
|
|
||||||
@item KeyExpire = <@var{seconds}> (3600)
|
|
||||||
This option controls the time the encryption keys used to encrypt the data
|
|
||||||
are valid. It is common practice to change keys at regular intervals to
|
|
||||||
make it even harder for crackers, even though it is thought to be nearly
|
|
||||||
impossible to crack a single key.
|
|
||||||
|
|
||||||
@cindex MACExpire
|
|
||||||
@item MACExpire = <@var{seconds}> (600)
|
|
||||||
This option controls the amount of time MAC addresses are kept before they are removed.
|
|
||||||
This only has effect when Mode is set to "switch".
|
|
||||||
|
|
||||||
@cindex Name
|
@cindex Name
|
||||||
@item Name = <@var{name}> [required]
|
@item Name = <@var{name}> [required]
|
||||||
This is a symbolic name for this connection.
|
This is a symbolic name for this connection.
|
||||||
|
@ -1052,7 +1060,7 @@ When this option is used the priority of the tincd process will be adjusted.
|
||||||
Increasing the priority may help to reduce latency and packet loss on the VPN.
|
Increasing the priority may help to reduce latency and packet loss on the VPN.
|
||||||
|
|
||||||
@cindex Proxy
|
@cindex Proxy
|
||||||
@item Proxy = socks4 | socks4 | http | exec @var{...} [experimental]
|
@item Proxy = socks4 | socks5 | http | exec @var{...} [experimental]
|
||||||
Use a proxy when making outgoing connections.
|
Use a proxy when making outgoing connections.
|
||||||
The following proxy types are currently supported:
|
The following proxy types are currently supported:
|
||||||
|
|
||||||
|
@ -1063,7 +1071,7 @@ Connects to the proxy using the SOCKS version 4 protocol.
|
||||||
Optionally, a @var{username} can be supplied which will be passed on to the proxy server.
|
Optionally, a @var{username} can be supplied which will be passed on to the proxy server.
|
||||||
|
|
||||||
@cindex socks5
|
@cindex socks5
|
||||||
@item socks4 <@var{address}> <@var{port}> [<@var{username}> <@var{password}>]
|
@item socks5 <@var{address}> <@var{port}> [<@var{username}> <@var{password}>]
|
||||||
Connect to the proxy using the SOCKS version 5 protocol.
|
Connect to the proxy using the SOCKS version 5 protocol.
|
||||||
If a @var{username} and @var{password} are given, basic username/password authentication will be used,
|
If a @var{username} and @var{password} are given, basic username/password authentication will be used,
|
||||||
otherwise no authentication will be used.
|
otherwise no authentication will be used.
|
||||||
|
@ -1089,9 +1097,8 @@ reordering. Setting this to zero will disable replay tracking completely and
|
||||||
pass all traffic, but leaves tinc vulnerable to replay-based attacks on your
|
pass all traffic, but leaves tinc vulnerable to replay-based attacks on your
|
||||||
traffic.
|
traffic.
|
||||||
|
|
||||||
|
|
||||||
@cindex StrictSubnets
|
@cindex StrictSubnets
|
||||||
@item StrictSubnets <yes|no> (no) [experimental]
|
@item StrictSubnets = <yes|no> (no) [experimental]
|
||||||
When this option is enabled tinc will only use Subnet statements which are
|
When this option is enabled tinc will only use Subnet statements which are
|
||||||
present in the host config files in the local
|
present in the host config files in the local
|
||||||
@file{@value{sysconfdir}/tinc/@var{netname}/hosts/} directory.
|
@file{@value{sysconfdir}/tinc/@var{netname}/hosts/} directory.
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
## Process this file with automake to produce Makefile.in
|
|
||||||
|
|
||||||
noinst_LIBRARIES = libvpn.a
|
|
||||||
|
|
||||||
INCLUDES = @INCLUDES@ -I. -I$(top_builddir)
|
|
||||||
|
|
||||||
libvpn_a_SOURCES = xmalloc.c pidfile.c utils.c getopt.c getopt1.c list.c avl_tree.c dropin.c fake-getaddrinfo.c fake-getnameinfo.c
|
|
||||||
|
|
||||||
libvpn_a_LIBADD = @LIBOBJS@ @ALLOCA@
|
|
||||||
libvpn_a_DEPENDENCIES = $(libvpn_a_LIBADD)
|
|
||||||
|
|
||||||
noinst_HEADERS = xalloc.h pidfile.h utils.h getopt.h list.h avl_tree.h dropin.h fake-getaddrinfo.h fake-getnameinfo.h fake-gai-errnos.h ipv6.h ipv4.h ethernet.h
|
|
||||||
|
|
||||||
EXTRA_DIST =
|
|
552
lib/Makefile.in
552
lib/Makefile.in
|
@ -1,552 +0,0 @@
|
||||||
# Makefile.in generated by automake 1.13.3 from Makefile.am.
|
|
||||||
# @configure_input@
|
|
||||||
|
|
||||||
# Copyright (C) 1994-2013 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@
|
|
||||||
|
|
||||||
|
|
||||||
VPATH = @srcdir@
|
|
||||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
|
||||||
am__make_running_with_option = \
|
|
||||||
case $${target_option-} in \
|
|
||||||
?) ;; \
|
|
||||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
|
||||||
"target option '$${target_option-}' specified" >&2; \
|
|
||||||
exit 1;; \
|
|
||||||
esac; \
|
|
||||||
has_opt=no; \
|
|
||||||
sane_makeflags=$$MAKEFLAGS; \
|
|
||||||
if $(am__is_gnu_make); then \
|
|
||||||
sane_makeflags=$$MFLAGS; \
|
|
||||||
else \
|
|
||||||
case $$MAKEFLAGS in \
|
|
||||||
*\\[\ \ ]*) \
|
|
||||||
bs=\\; \
|
|
||||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
|
||||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
|
||||||
esac; \
|
|
||||||
fi; \
|
|
||||||
skip_next=no; \
|
|
||||||
strip_trailopt () \
|
|
||||||
{ \
|
|
||||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
|
||||||
}; \
|
|
||||||
for flg in $$sane_makeflags; do \
|
|
||||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
|
||||||
case $$flg in \
|
|
||||||
*=*|--*) continue;; \
|
|
||||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
|
||||||
-*I?*) strip_trailopt 'I';; \
|
|
||||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
|
||||||
-*O?*) strip_trailopt 'O';; \
|
|
||||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
|
||||||
-*l?*) strip_trailopt 'l';; \
|
|
||||||
-[dEDm]) skip_next=yes;; \
|
|
||||||
-[JT]) skip_next=yes;; \
|
|
||||||
esac; \
|
|
||||||
case $$flg in \
|
|
||||||
*$$target_option*) has_opt=yes; break;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
test $$has_opt = yes
|
|
||||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
|
||||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
|
||||||
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 = lib
|
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am realloc.c \
|
|
||||||
memcmp.c malloc.c alloca.c $(top_srcdir)/depcomp \
|
|
||||||
$(noinst_HEADERS)
|
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
|
||||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
|
||||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
|
||||||
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_@AM_V@)
|
|
||||||
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
|
|
||||||
am__v_AR_0 = @echo " AR " $@;
|
|
||||||
am__v_AR_1 =
|
|
||||||
libvpn_a_AR = $(AR) $(ARFLAGS)
|
|
||||||
am_libvpn_a_OBJECTS = xmalloc.$(OBJEXT) pidfile.$(OBJEXT) \
|
|
||||||
utils.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \
|
|
||||||
list.$(OBJEXT) avl_tree.$(OBJEXT) dropin.$(OBJEXT) \
|
|
||||||
fake-getaddrinfo.$(OBJEXT) fake-getnameinfo.$(OBJEXT)
|
|
||||||
libvpn_a_OBJECTS = $(am_libvpn_a_OBJECTS)
|
|
||||||
AM_V_P = $(am__v_P_@AM_V@)
|
|
||||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
|
||||||
am__v_P_0 = false
|
|
||||||
am__v_P_1 = :
|
|
||||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
|
||||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
|
||||||
am__v_GEN_0 = @echo " GEN " $@;
|
|
||||||
am__v_GEN_1 =
|
|
||||||
AM_V_at = $(am__v_at_@AM_V@)
|
|
||||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
||||||
am__v_at_0 = @
|
|
||||||
am__v_at_1 =
|
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
|
||||||
depcomp = $(SHELL) $(top_srcdir)/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_@AM_V@)
|
|
||||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
|
||||||
am__v_CC_0 = @echo " CC " $@;
|
|
||||||
am__v_CC_1 =
|
|
||||||
CCLD = $(CC)
|
|
||||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
|
||||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
|
||||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
|
||||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
|
||||||
am__v_CCLD_1 =
|
|
||||||
SOURCES = $(libvpn_a_SOURCES)
|
|
||||||
DIST_SOURCES = $(libvpn_a_SOURCES)
|
|
||||||
am__can_run_installinfo = \
|
|
||||||
case $$AM_UPDATE_INFO_DIR in \
|
|
||||||
n|no|NO) false;; \
|
|
||||||
*) (install-info --version) >/dev/null 2>&1;; \
|
|
||||||
esac
|
|
||||||
HEADERS = $(noinst_HEADERS)
|
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
|
||||||
# Read a list of newline-separated strings from the standard input,
|
|
||||||
# and print each of them once, without duplicates. Input order is
|
|
||||||
# *not* preserved.
|
|
||||||
am__uniquify_input = $(AWK) '\
|
|
||||||
BEGIN { nonempty = 0; } \
|
|
||||||
{ items[$$0] = 1; nonempty = 1; } \
|
|
||||||
END { if (nonempty) { for (i in items) print i; }; } \
|
|
||||||
'
|
|
||||||
# Make sure the list of sources is unique. This is necessary because,
|
|
||||||
# e.g., the same source file might be shared among _SOURCES variables
|
|
||||||
# for different programs/libraries.
|
|
||||||
am__define_uniq_tagged_files = \
|
|
||||||
list='$(am__tagged_files)'; \
|
|
||||||
unique=`for i in $$list; do \
|
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | $(am__uniquify_input)`
|
|
||||||
ETAGS = etags
|
|
||||||
CTAGS = ctags
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
||||||
ACLOCAL = @ACLOCAL@
|
|
||||||
ALLOCA = @ALLOCA@
|
|
||||||
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@
|
|
||||||
GREP = @GREP@
|
|
||||||
INCLUDES = @INCLUDES@ -I. -I$(top_builddir)
|
|
||||||
INSTALL = @INSTALL@
|
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
LIBS = @LIBS@
|
|
||||||
LN_S = @LN_S@
|
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
|
||||||
MAINT = @MAINT@
|
|
||||||
MAKEINFO = @MAKEINFO@
|
|
||||||
MKDIR_P = @MKDIR_P@
|
|
||||||
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@
|
|
||||||
RANLIB = @RANLIB@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
|
||||||
SHELL = @SHELL@
|
|
||||||
STRIP = @STRIP@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
abs_builddir = @abs_builddir@
|
|
||||||
abs_srcdir = @abs_srcdir@
|
|
||||||
abs_top_builddir = @abs_top_builddir@
|
|
||||||
abs_top_srcdir = @abs_top_srcdir@
|
|
||||||
ac_ct_CC = @ac_ct_CC@
|
|
||||||
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@
|
|
||||||
noinst_LIBRARIES = libvpn.a
|
|
||||||
libvpn_a_SOURCES = xmalloc.c pidfile.c utils.c getopt.c getopt1.c list.c avl_tree.c dropin.c fake-getaddrinfo.c fake-getnameinfo.c
|
|
||||||
libvpn_a_LIBADD = @LIBOBJS@ @ALLOCA@
|
|
||||||
libvpn_a_DEPENDENCIES = $(libvpn_a_LIBADD)
|
|
||||||
noinst_HEADERS = xalloc.h pidfile.h utils.h getopt.h list.h avl_tree.h dropin.h fake-getaddrinfo.h fake-getnameinfo.h fake-gai-errnos.h ipv6.h ipv4.h ethernet.h
|
|
||||||
EXTRA_DIST =
|
|
||||||
all: all-am
|
|
||||||
|
|
||||||
.SUFFIXES:
|
|
||||||
.SUFFIXES: .c .o .obj
|
|
||||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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 lib/Makefile'; \
|
|
||||||
$(am__cd) $(top_srcdir) && \
|
|
||||||
$(AUTOMAKE) --gnu lib/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
||||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(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)
|
|
||||||
|
|
||||||
libvpn.a: $(libvpn_a_OBJECTS) $(libvpn_a_DEPENDENCIES) $(EXTRA_libvpn_a_DEPENDENCIES)
|
|
||||||
$(AM_V_at)-rm -f libvpn.a
|
|
||||||
$(AM_V_AR)$(libvpn_a_AR) libvpn.a $(libvpn_a_OBJECTS) $(libvpn_a_LIBADD)
|
|
||||||
$(AM_V_at)$(RANLIB) libvpn.a
|
|
||||||
|
|
||||||
mostlyclean-compile:
|
|
||||||
-rm -f *.$(OBJEXT)
|
|
||||||
|
|
||||||
distclean-compile:
|
|
||||||
-rm -f *.tab.c
|
|
||||||
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/malloc.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memcmp.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/realloc.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avl_tree.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dropin.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fake-getaddrinfo.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fake-getnameinfo.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfile.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.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
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(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
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
|
|
||||||
|
|
||||||
ID: $(am__tagged_files)
|
|
||||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
|
||||||
tags: tags-am
|
|
||||||
TAGS: tags
|
|
||||||
|
|
||||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
|
||||||
set x; \
|
|
||||||
here=`pwd`; \
|
|
||||||
$(am__define_uniq_tagged_files); \
|
|
||||||
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-am
|
|
||||||
|
|
||||||
CTAGS: ctags
|
|
||||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
|
||||||
$(am__define_uniq_tagged_files); \
|
|
||||||
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"
|
|
||||||
cscopelist: cscopelist-am
|
|
||||||
|
|
||||||
cscopelist-am: $(am__tagged_files)
|
|
||||||
list='$(am__tagged_files)'; \
|
|
||||||
case "$(srcdir)" in \
|
|
||||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
|
||||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
|
||||||
esac; \
|
|
||||||
for i in $$list; do \
|
|
||||||
if test -f "$$i"; then \
|
|
||||||
echo "$(subdir)/$$i"; \
|
|
||||||
else \
|
|
||||||
echo "$$sdir/$$i"; \
|
|
||||||
fi; \
|
|
||||||
done >> $(top_builddir)/cscope.files
|
|
||||||
|
|
||||||
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) $(HEADERS)
|
|
||||||
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:
|
|
||||||
if test -z '$(STRIP)'; then \
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
||||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
||||||
install; \
|
|
||||||
else \
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
||||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
||||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
|
||||||
fi
|
|
||||||
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 TAGS all all-am check check-am clean clean-generic \
|
|
||||||
clean-noinstLIBRARIES cscopelist-am ctags ctags-am 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 tags-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:
|
|
494
lib/alloca.c
494
lib/alloca.c
|
@ -1,494 +0,0 @@
|
||||||
/* alloca.c -- allocate automatically reclaimed memory
|
|
||||||
(Mostly) portable public-domain implementation -- D A Gwyn
|
|
||||||
|
|
||||||
This implementation of the PWB library alloca function,
|
|
||||||
which is used to allocate space off the run-time stack so
|
|
||||||
that it is automatically reclaimed upon procedure exit,
|
|
||||||
was inspired by discussions with J. Q. Johnson of Cornell.
|
|
||||||
J.Otto Tennant <jot@cray.com> contributed the Cray support.
|
|
||||||
|
|
||||||
There are some preprocessor constants that can
|
|
||||||
be defined when compiling for your specific system, for
|
|
||||||
improved efficiency; however, the defaults should be okay.
|
|
||||||
|
|
||||||
The general concept of this implementation is to keep
|
|
||||||
track of all alloca-allocated blocks, and reclaim any
|
|
||||||
that are found to be deeper in the stack than the current
|
|
||||||
invocation. This heuristic does not reclaim storage as
|
|
||||||
soon as it becomes invalid, but it will do so eventually.
|
|
||||||
|
|
||||||
As a special case, alloca(0) reclaims storage without
|
|
||||||
allocating any. It is a good idea to use alloca(0) in
|
|
||||||
your main control loop, etc. to force garbage collection. */
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef emacs
|
|
||||||
# include "blockinput.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* If compiling with GCC 2, this file's not needed. */
|
|
||||||
#if !defined (__GNUC__) || __GNUC__ < 2
|
|
||||||
|
|
||||||
/* If someone has defined alloca as a macro,
|
|
||||||
there must be some other way alloca is supposed to work. */
|
|
||||||
# ifndef alloca
|
|
||||||
|
|
||||||
# ifdef emacs
|
|
||||||
# ifdef static
|
|
||||||
/* actually, only want this if static is defined as ""
|
|
||||||
-- this is for usg, in which emacs must undefine static
|
|
||||||
in order to make unexec workable
|
|
||||||
*/
|
|
||||||
# ifndef STACK_DIRECTION
|
|
||||||
you
|
|
||||||
lose
|
|
||||||
-- must know STACK_DIRECTION at compile-time
|
|
||||||
# endif /* STACK_DIRECTION undefined */
|
|
||||||
# endif /* static */
|
|
||||||
# endif /* emacs */
|
|
||||||
|
|
||||||
/* If your stack is a linked list of frames, you have to
|
|
||||||
provide an "address metric" ADDRESS_FUNCTION macro. */
|
|
||||||
|
|
||||||
# if defined (CRAY) && defined (CRAY_STACKSEG_END)
|
|
||||||
long i00afunc ();
|
|
||||||
# define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg))
|
|
||||||
# else
|
|
||||||
# define ADDRESS_FUNCTION(arg) &(arg)
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if __STDC__
|
|
||||||
typedef void *pointer;
|
|
||||||
# else
|
|
||||||
typedef char *pointer;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef NULL
|
|
||||||
# define NULL 0
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Different portions of Emacs need to call different versions of
|
|
||||||
malloc. The Emacs executable needs alloca to call xmalloc, because
|
|
||||||
ordinary malloc isn't protected from input signals. On the other
|
|
||||||
hand, the utilities in lib-src need alloca to call malloc; some of
|
|
||||||
them are very simple, and don't have an xmalloc routine.
|
|
||||||
|
|
||||||
Non-Emacs programs expect this to call xmalloc.
|
|
||||||
|
|
||||||
Callers below should use malloc. */
|
|
||||||
|
|
||||||
# ifndef emacs
|
|
||||||
# define malloc xmalloc
|
|
||||||
# endif
|
|
||||||
extern pointer malloc ();
|
|
||||||
|
|
||||||
/* Define STACK_DIRECTION if you know the direction of stack
|
|
||||||
growth for your system; otherwise it will be automatically
|
|
||||||
deduced at run-time.
|
|
||||||
|
|
||||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
|
||||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
|
||||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
|
||||||
|
|
||||||
# ifndef STACK_DIRECTION
|
|
||||||
# define STACK_DIRECTION 0 /* Direction unknown. */
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if STACK_DIRECTION != 0
|
|
||||||
|
|
||||||
# define STACK_DIR STACK_DIRECTION /* Known at compile-time. */
|
|
||||||
|
|
||||||
# else /* STACK_DIRECTION == 0; need run-time code. */
|
|
||||||
|
|
||||||
static int stack_dir; /* 1 or -1 once known. */
|
|
||||||
# define STACK_DIR stack_dir
|
|
||||||
|
|
||||||
static void
|
|
||||||
find_stack_direction ()
|
|
||||||
{
|
|
||||||
static char *addr = NULL; /* Address of first `dummy', once known. */
|
|
||||||
auto char dummy; /* To get stack address. */
|
|
||||||
|
|
||||||
if (addr == NULL)
|
|
||||||
{ /* Initial entry. */
|
|
||||||
addr = ADDRESS_FUNCTION (dummy);
|
|
||||||
|
|
||||||
find_stack_direction (); /* Recurse once. */
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Second entry. */
|
|
||||||
if (ADDRESS_FUNCTION (dummy) > addr)
|
|
||||||
stack_dir = 1; /* Stack grew upward. */
|
|
||||||
else
|
|
||||||
stack_dir = -1; /* Stack grew downward. */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# endif /* STACK_DIRECTION == 0 */
|
|
||||||
|
|
||||||
/* An "alloca header" is used to:
|
|
||||||
(a) chain together all alloca'ed blocks;
|
|
||||||
(b) keep track of stack depth.
|
|
||||||
|
|
||||||
It is very important that sizeof(header) agree with malloc
|
|
||||||
alignment chunk size. The following default should work okay. */
|
|
||||||
|
|
||||||
# ifndef ALIGN_SIZE
|
|
||||||
# define ALIGN_SIZE sizeof(double)
|
|
||||||
# endif
|
|
||||||
|
|
||||||
typedef union hdr
|
|
||||||
{
|
|
||||||
char align[ALIGN_SIZE]; /* To force sizeof(header). */
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
union hdr *next; /* For chaining headers. */
|
|
||||||
char *deep; /* For stack depth measure. */
|
|
||||||
} h;
|
|
||||||
} header;
|
|
||||||
|
|
||||||
static header *last_alloca_header = NULL; /* -> last alloca header. */
|
|
||||||
|
|
||||||
/* Return a pointer to at least SIZE bytes of storage,
|
|
||||||
which will be automatically reclaimed upon exit from
|
|
||||||
the procedure that called alloca. Originally, this space
|
|
||||||
was supposed to be taken from the current stack frame of the
|
|
||||||
caller, but that method cannot be made to work for some
|
|
||||||
implementations of C, for example under Gould's UTX/32. */
|
|
||||||
|
|
||||||
pointer
|
|
||||||
alloca (size)
|
|
||||||
unsigned size;
|
|
||||||
{
|
|
||||||
auto char probe; /* Probes stack depth: */
|
|
||||||
register char *depth = ADDRESS_FUNCTION (probe);
|
|
||||||
|
|
||||||
# if STACK_DIRECTION == 0
|
|
||||||
if (STACK_DIR == 0) /* Unknown growth direction. */
|
|
||||||
find_stack_direction ();
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Reclaim garbage, defined as all alloca'd storage that
|
|
||||||
was allocated from deeper in the stack than currently. */
|
|
||||||
|
|
||||||
{
|
|
||||||
register header *hp; /* Traverses linked list. */
|
|
||||||
|
|
||||||
# ifdef emacs
|
|
||||||
BLOCK_INPUT;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
for (hp = last_alloca_header; hp != NULL;)
|
|
||||||
if ((STACK_DIR > 0 && hp->h.deep > depth)
|
|
||||||
|| (STACK_DIR < 0 && hp->h.deep < depth))
|
|
||||||
{
|
|
||||||
register header *np = hp->h.next;
|
|
||||||
|
|
||||||
free ((pointer) hp); /* Collect garbage. */
|
|
||||||
|
|
||||||
hp = np; /* -> next header. */
|
|
||||||
}
|
|
||||||
else
|
|
||||||
break; /* Rest are not deeper. */
|
|
||||||
|
|
||||||
last_alloca_header = hp; /* -> last valid storage. */
|
|
||||||
|
|
||||||
# ifdef emacs
|
|
||||||
UNBLOCK_INPUT;
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (size == 0)
|
|
||||||
return NULL; /* No allocation required. */
|
|
||||||
|
|
||||||
/* Allocate combined header + user data storage. */
|
|
||||||
|
|
||||||
{
|
|
||||||
register pointer new = malloc (sizeof (header) + size);
|
|
||||||
/* Address of header. */
|
|
||||||
|
|
||||||
((header *) new)->h.next = last_alloca_header;
|
|
||||||
((header *) new)->h.deep = depth;
|
|
||||||
|
|
||||||
last_alloca_header = (header *) new;
|
|
||||||
|
|
||||||
/* User storage begins just after header. */
|
|
||||||
|
|
||||||
return (pointer) ((char *) new + sizeof (header));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# if defined (CRAY) && defined (CRAY_STACKSEG_END)
|
|
||||||
|
|
||||||
# ifdef DEBUG_I00AFUNC
|
|
||||||
# include <stdio.h>
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef CRAY_STACK
|
|
||||||
# define CRAY_STACK
|
|
||||||
# ifndef CRAY2
|
|
||||||
/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */
|
|
||||||
struct stack_control_header
|
|
||||||
{
|
|
||||||
long shgrow:32; /* Number of times stack has grown. */
|
|
||||||
long shaseg:32; /* Size of increments to stack. */
|
|
||||||
long shhwm:32; /* High water mark of stack. */
|
|
||||||
long shsize:32; /* Current size of stack (all segments). */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* The stack segment linkage control information occurs at
|
|
||||||
the high-address end of a stack segment. (The stack
|
|
||||||
grows from low addresses to high addresses.) The initial
|
|
||||||
part of the stack segment linkage control information is
|
|
||||||
0200 (octal) words. This provides for register storage
|
|
||||||
for the routine which overflows the stack. */
|
|
||||||
|
|
||||||
struct stack_segment_linkage
|
|
||||||
{
|
|
||||||
long ss[0200]; /* 0200 overflow words. */
|
|
||||||
long sssize:32; /* Number of words in this segment. */
|
|
||||||
long ssbase:32; /* Offset to stack base. */
|
|
||||||
long:32;
|
|
||||||
long sspseg:32; /* Offset to linkage control of previous
|
|
||||||
segment of stack. */
|
|
||||||
long:32;
|
|
||||||
long sstcpt:32; /* Pointer to task common address block. */
|
|
||||||
long sscsnm; /* Private control structure number for
|
|
||||||
microtasking. */
|
|
||||||
long ssusr1; /* Reserved for user. */
|
|
||||||
long ssusr2; /* Reserved for user. */
|
|
||||||
long sstpid; /* Process ID for pid based multi-tasking. */
|
|
||||||
long ssgvup; /* Pointer to multitasking thread giveup. */
|
|
||||||
long sscray[7]; /* Reserved for Cray Research. */
|
|
||||||
long ssa0;
|
|
||||||
long ssa1;
|
|
||||||
long ssa2;
|
|
||||||
long ssa3;
|
|
||||||
long ssa4;
|
|
||||||
long ssa5;
|
|
||||||
long ssa6;
|
|
||||||
long ssa7;
|
|
||||||
long sss0;
|
|
||||||
long sss1;
|
|
||||||
long sss2;
|
|
||||||
long sss3;
|
|
||||||
long sss4;
|
|
||||||
long sss5;
|
|
||||||
long sss6;
|
|
||||||
long sss7;
|
|
||||||
};
|
|
||||||
|
|
||||||
# else /* CRAY2 */
|
|
||||||
/* The following structure defines the vector of words
|
|
||||||
returned by the STKSTAT library routine. */
|
|
||||||
struct stk_stat
|
|
||||||
{
|
|
||||||
long now; /* Current total stack size. */
|
|
||||||
long maxc; /* Amount of contiguous space which would
|
|
||||||
be required to satisfy the maximum
|
|
||||||
stack demand to date. */
|
|
||||||
long high_water; /* Stack high-water mark. */
|
|
||||||
long overflows; /* Number of stack overflow ($STKOFEN) calls. */
|
|
||||||
long hits; /* Number of internal buffer hits. */
|
|
||||||
long extends; /* Number of block extensions. */
|
|
||||||
long stko_mallocs; /* Block allocations by $STKOFEN. */
|
|
||||||
long underflows; /* Number of stack underflow calls ($STKRETN). */
|
|
||||||
long stko_free; /* Number of deallocations by $STKRETN. */
|
|
||||||
long stkm_free; /* Number of deallocations by $STKMRET. */
|
|
||||||
long segments; /* Current number of stack segments. */
|
|
||||||
long maxs; /* Maximum number of stack segments so far. */
|
|
||||||
long pad_size; /* Stack pad size. */
|
|
||||||
long current_address; /* Current stack segment address. */
|
|
||||||
long current_size; /* Current stack segment size. This
|
|
||||||
number is actually corrupted by STKSTAT to
|
|
||||||
include the fifteen word trailer area. */
|
|
||||||
long initial_address; /* Address of initial segment. */
|
|
||||||
long initial_size; /* Size of initial segment. */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* The following structure describes the data structure which trails
|
|
||||||
any stack segment. I think that the description in 'asdef' is
|
|
||||||
out of date. I only describe the parts that I am sure about. */
|
|
||||||
|
|
||||||
struct stk_trailer
|
|
||||||
{
|
|
||||||
long this_address; /* Address of this block. */
|
|
||||||
long this_size; /* Size of this block (does not include
|
|
||||||
this trailer). */
|
|
||||||
long unknown2;
|
|
||||||
long unknown3;
|
|
||||||
long link; /* Address of trailer block of previous
|
|
||||||
segment. */
|
|
||||||
long unknown5;
|
|
||||||
long unknown6;
|
|
||||||
long unknown7;
|
|
||||||
long unknown8;
|
|
||||||
long unknown9;
|
|
||||||
long unknown10;
|
|
||||||
long unknown11;
|
|
||||||
long unknown12;
|
|
||||||
long unknown13;
|
|
||||||
long unknown14;
|
|
||||||
};
|
|
||||||
|
|
||||||
# endif /* CRAY2 */
|
|
||||||
# endif /* not CRAY_STACK */
|
|
||||||
|
|
||||||
# ifdef CRAY2
|
|
||||||
/* Determine a "stack measure" for an arbitrary ADDRESS.
|
|
||||||
I doubt that "lint" will like this much. */
|
|
||||||
|
|
||||||
static long
|
|
||||||
i00afunc (long *address)
|
|
||||||
{
|
|
||||||
struct stk_stat status;
|
|
||||||
struct stk_trailer *trailer;
|
|
||||||
long *block, size;
|
|
||||||
long result = 0;
|
|
||||||
|
|
||||||
/* We want to iterate through all of the segments. The first
|
|
||||||
step is to get the stack status structure. We could do this
|
|
||||||
more quickly and more directly, perhaps, by referencing the
|
|
||||||
$LM00 common block, but I know that this works. */
|
|
||||||
|
|
||||||
STKSTAT (&status);
|
|
||||||
|
|
||||||
/* Set up the iteration. */
|
|
||||||
|
|
||||||
trailer = (struct stk_trailer *) (status.current_address
|
|
||||||
+ status.current_size
|
|
||||||
- 15);
|
|
||||||
|
|
||||||
/* There must be at least one stack segment. Therefore it is
|
|
||||||
a fatal error if "trailer" is null. */
|
|
||||||
|
|
||||||
if (trailer == 0)
|
|
||||||
abort ();
|
|
||||||
|
|
||||||
/* Discard segments that do not contain our argument address. */
|
|
||||||
|
|
||||||
while (trailer != 0)
|
|
||||||
{
|
|
||||||
block = (long *) trailer->this_address;
|
|
||||||
size = trailer->this_size;
|
|
||||||
if (block == 0 || size == 0)
|
|
||||||
abort ();
|
|
||||||
trailer = (struct stk_trailer *) trailer->link;
|
|
||||||
if ((block <= address) && (address < (block + size)))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set the result to the offset in this segment and add the sizes
|
|
||||||
of all predecessor segments. */
|
|
||||||
|
|
||||||
result = address - block;
|
|
||||||
|
|
||||||
if (trailer == 0)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (trailer->this_size <= 0)
|
|
||||||
abort ();
|
|
||||||
result += trailer->this_size;
|
|
||||||
trailer = (struct stk_trailer *) trailer->link;
|
|
||||||
}
|
|
||||||
while (trailer != 0);
|
|
||||||
|
|
||||||
/* We are done. Note that if you present a bogus address (one
|
|
||||||
not in any segment), you will get a different number back, formed
|
|
||||||
from subtracting the address of the first block. This is probably
|
|
||||||
not what you want. */
|
|
||||||
|
|
||||||
return (result);
|
|
||||||
}
|
|
||||||
|
|
||||||
# else /* not CRAY2 */
|
|
||||||
/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP.
|
|
||||||
Determine the number of the cell within the stack,
|
|
||||||
given the address of the cell. The purpose of this
|
|
||||||
routine is to linearize, in some sense, stack addresses
|
|
||||||
for alloca. */
|
|
||||||
|
|
||||||
static long
|
|
||||||
i00afunc (long address)
|
|
||||||
{
|
|
||||||
long stkl = 0;
|
|
||||||
|
|
||||||
long size, pseg, this_segment, stack;
|
|
||||||
long result = 0;
|
|
||||||
|
|
||||||
struct stack_segment_linkage *ssptr;
|
|
||||||
|
|
||||||
/* Register B67 contains the address of the end of the
|
|
||||||
current stack segment. If you (as a subprogram) store
|
|
||||||
your registers on the stack and find that you are past
|
|
||||||
the contents of B67, you have overflowed the segment.
|
|
||||||
|
|
||||||
B67 also points to the stack segment linkage control
|
|
||||||
area, which is what we are really interested in. */
|
|
||||||
|
|
||||||
stkl = CRAY_STACKSEG_END ();
|
|
||||||
ssptr = (struct stack_segment_linkage *) stkl;
|
|
||||||
|
|
||||||
/* If one subtracts 'size' from the end of the segment,
|
|
||||||
one has the address of the first word of the segment.
|
|
||||||
|
|
||||||
If this is not the first segment, 'pseg' will be
|
|
||||||
nonzero. */
|
|
||||||
|
|
||||||
pseg = ssptr->sspseg;
|
|
||||||
size = ssptr->sssize;
|
|
||||||
|
|
||||||
this_segment = stkl - size;
|
|
||||||
|
|
||||||
/* It is possible that calling this routine itself caused
|
|
||||||
a stack overflow. Discard stack segments which do not
|
|
||||||
contain the target address. */
|
|
||||||
|
|
||||||
while (!(this_segment <= address && address <= stkl))
|
|
||||||
{
|
|
||||||
# ifdef DEBUG_I00AFUNC
|
|
||||||
fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl);
|
|
||||||
# endif
|
|
||||||
if (pseg == 0)
|
|
||||||
break;
|
|
||||||
stkl = stkl - pseg;
|
|
||||||
ssptr = (struct stack_segment_linkage *) stkl;
|
|
||||||
size = ssptr->sssize;
|
|
||||||
pseg = ssptr->sspseg;
|
|
||||||
this_segment = stkl - size;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = address - this_segment;
|
|
||||||
|
|
||||||
/* If you subtract pseg from the current end of the stack,
|
|
||||||
you get the address of the previous stack segment's end.
|
|
||||||
This seems a little convoluted to me, but I'll bet you save
|
|
||||||
a cycle somewhere. */
|
|
||||||
|
|
||||||
while (pseg != 0)
|
|
||||||
{
|
|
||||||
# ifdef DEBUG_I00AFUNC
|
|
||||||
fprintf (stderr, "%011o %011o\n", pseg, size);
|
|
||||||
# endif
|
|
||||||
stkl = stkl - pseg;
|
|
||||||
ssptr = (struct stack_segment_linkage *) stkl;
|
|
||||||
size = ssptr->sssize;
|
|
||||||
pseg = ssptr->sspseg;
|
|
||||||
result += size;
|
|
||||||
}
|
|
||||||
return (result);
|
|
||||||
}
|
|
||||||
|
|
||||||
# endif /* not CRAY2 */
|
|
||||||
# endif /* CRAY */
|
|
||||||
|
|
||||||
# endif /* no alloca */
|
|
||||||
#endif /* not GCC version 2 */
|
|
39
lib/malloc.c
39
lib/malloc.c
|
@ -1,39 +0,0 @@
|
||||||
/* Work around bug on some systems where malloc (0) fails.
|
|
||||||
Copyright (C) 1997 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, write to the Free Software Foundation, Inc., Foundation,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
|
|
||||||
|
|
||||||
/* written by Jim Meyering */
|
|
||||||
|
|
||||||
#if HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
#undef malloc
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
char *malloc ();
|
|
||||||
|
|
||||||
/* Allocate an N-byte block of memory from the heap.
|
|
||||||
If N is zero, allocate a 1-byte block. */
|
|
||||||
|
|
||||||
char *
|
|
||||||
rpl_malloc (n)
|
|
||||||
size_t n;
|
|
||||||
{
|
|
||||||
if (n == 0)
|
|
||||||
n = 1;
|
|
||||||
return malloc (n);
|
|
||||||
}
|
|
395
lib/memcmp.c
395
lib/memcmp.c
|
@ -1,395 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1993, 1995, 1997, 1998 Free Software Foundation, Inc.
|
|
||||||
Contributed by Torbjorn Granlund (tege@sics.se).
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
|
||||||
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
|
|
||||||
|
|
||||||
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, write to the Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include "config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_INTTYPES_H
|
|
||||||
#include <inttypes.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef __ptr_t
|
|
||||||
#if defined __cplusplus || (defined __STDC__ && __STDC__)
|
|
||||||
# define __ptr_t void *
|
|
||||||
#else /* Not C++ or ANSI C. */
|
|
||||||
# undef const
|
|
||||||
# define const
|
|
||||||
# define __ptr_t char *
|
|
||||||
#endif /* C++ or ANSI C. */
|
|
||||||
|
|
||||||
#ifndef __P
|
|
||||||
# if defined __GNUC__ || (defined __STDC__ && __STDC__)
|
|
||||||
# define __P(args) args
|
|
||||||
# else
|
|
||||||
# define __P(args) ()
|
|
||||||
# endif /* GCC. */
|
|
||||||
#endif /* Not __P. */
|
|
||||||
|
|
||||||
#if defined HAVE_STRING_H || defined _LIBC
|
|
||||||
# include <string.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef memcmp
|
|
||||||
|
|
||||||
#ifdef _LIBC
|
|
||||||
|
|
||||||
# include <memcopy.h>
|
|
||||||
|
|
||||||
#else /* Not in the GNU C library. */
|
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
|
|
||||||
/* Type to use for aligned memory operations.
|
|
||||||
This should normally be the biggest type supported by a single load
|
|
||||||
and store. Must be an unsigned type. */
|
|
||||||
# define op_t unsigned long int
|
|
||||||
# define OPSIZ (sizeof(op_t))
|
|
||||||
|
|
||||||
/* Threshold value for when to enter the unrolled loops. */
|
|
||||||
# define OP_T_THRES 16
|
|
||||||
|
|
||||||
/* Type to use for unaligned operations. */
|
|
||||||
typedef unsigned char byte;
|
|
||||||
|
|
||||||
# ifndef WORDS_BIGENDIAN
|
|
||||||
# define MERGE(w0, sh_1, w1, sh_2) (((w0) >> (sh_1)) | ((w1) << (sh_2)))
|
|
||||||
# else
|
|
||||||
# define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2)))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#endif /* In the GNU C library. */
|
|
||||||
|
|
||||||
#ifdef WORDS_BIGENDIAN
|
|
||||||
# define CMP_LT_OR_GT(a, b) ((a) > (b) ? 1 : -1)
|
|
||||||
#else
|
|
||||||
# define CMP_LT_OR_GT(a, b) memcmp_bytes ((a), (b))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* BE VERY CAREFUL IF YOU CHANGE THIS CODE! */
|
|
||||||
|
|
||||||
/* The strategy of this memcmp is:
|
|
||||||
|
|
||||||
1. Compare bytes until one of the block pointers is aligned.
|
|
||||||
|
|
||||||
2. Compare using memcmp_common_alignment or
|
|
||||||
memcmp_not_common_alignment, regarding the alignment of the other
|
|
||||||
block after the initial byte operations. The maximum number of
|
|
||||||
full words (of type op_t) are compared in this way.
|
|
||||||
|
|
||||||
3. Compare the few remaining bytes. */
|
|
||||||
|
|
||||||
#ifndef WORDS_BIGENDIAN
|
|
||||||
/* memcmp_bytes -- Compare A and B bytewise in the byte order of the machine.
|
|
||||||
A and B are known to be different.
|
|
||||||
This is needed only on little-endian machines. */
|
|
||||||
|
|
||||||
static int memcmp_bytes __P((op_t, op_t));
|
|
||||||
|
|
||||||
# ifdef __GNUC__
|
|
||||||
__inline
|
|
||||||
# endif
|
|
||||||
static int
|
|
||||||
memcmp_bytes (a, b)
|
|
||||||
op_t a, b;
|
|
||||||
{
|
|
||||||
intptr_t srcp1 = (intptr_t) &a;
|
|
||||||
intptr_t srcp2 = (intptr_t) &b;
|
|
||||||
op_t a0, b0;
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
a0 = ((byte *) srcp1)[0];
|
|
||||||
b0 = ((byte *) srcp2)[0];
|
|
||||||
srcp1 += 1;
|
|
||||||
srcp2 += 1;
|
|
||||||
}
|
|
||||||
while (a0 == b0);
|
|
||||||
return a0 - b0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int memcmp_common_alignment __P((intptr_t, intptr_t, size_t));
|
|
||||||
|
|
||||||
/* memcmp_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN `op_t'
|
|
||||||
objects (not LEN bytes!). Both SRCP1 and SRCP2 should be aligned for
|
|
||||||
memory operations on `op_t's. */
|
|
||||||
#ifdef __GNUC__
|
|
||||||
__inline
|
|
||||||
#endif
|
|
||||||
static int
|
|
||||||
memcmp_common_alignment (srcp1, srcp2, len)
|
|
||||||
intptr_t srcp1;
|
|
||||||
intptr_t srcp2;
|
|
||||||
size_t len;
|
|
||||||
{
|
|
||||||
op_t a0, a1;
|
|
||||||
op_t b0, b1;
|
|
||||||
|
|
||||||
switch (len % 4)
|
|
||||||
{
|
|
||||||
default: /* Avoid warning about uninitialized local variables. */
|
|
||||||
case 2:
|
|
||||||
a0 = ((op_t *) srcp1)[0];
|
|
||||||
b0 = ((op_t *) srcp2)[0];
|
|
||||||
srcp1 -= 2 * OPSIZ;
|
|
||||||
srcp2 -= 2 * OPSIZ;
|
|
||||||
len += 2;
|
|
||||||
goto do1;
|
|
||||||
case 3:
|
|
||||||
a1 = ((op_t *) srcp1)[0];
|
|
||||||
b1 = ((op_t *) srcp2)[0];
|
|
||||||
srcp1 -= OPSIZ;
|
|
||||||
srcp2 -= OPSIZ;
|
|
||||||
len += 1;
|
|
||||||
goto do2;
|
|
||||||
case 0:
|
|
||||||
if (OP_T_THRES <= 3 * OPSIZ && len == 0)
|
|
||||||
return 0;
|
|
||||||
a0 = ((op_t *) srcp1)[0];
|
|
||||||
b0 = ((op_t *) srcp2)[0];
|
|
||||||
goto do3;
|
|
||||||
case 1:
|
|
||||||
a1 = ((op_t *) srcp1)[0];
|
|
||||||
b1 = ((op_t *) srcp2)[0];
|
|
||||||
srcp1 += OPSIZ;
|
|
||||||
srcp2 += OPSIZ;
|
|
||||||
len -= 1;
|
|
||||||
if (OP_T_THRES <= 3 * OPSIZ && len == 0)
|
|
||||||
goto do0;
|
|
||||||
/* Fall through. */
|
|
||||||
}
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
a0 = ((op_t *) srcp1)[0];
|
|
||||||
b0 = ((op_t *) srcp2)[0];
|
|
||||||
if (a1 != b1)
|
|
||||||
return CMP_LT_OR_GT (a1, b1);
|
|
||||||
|
|
||||||
do3:
|
|
||||||
a1 = ((op_t *) srcp1)[1];
|
|
||||||
b1 = ((op_t *) srcp2)[1];
|
|
||||||
if (a0 != b0)
|
|
||||||
return CMP_LT_OR_GT (a0, b0);
|
|
||||||
|
|
||||||
do2:
|
|
||||||
a0 = ((op_t *) srcp1)[2];
|
|
||||||
b0 = ((op_t *) srcp2)[2];
|
|
||||||
if (a1 != b1)
|
|
||||||
return CMP_LT_OR_GT (a1, b1);
|
|
||||||
|
|
||||||
do1:
|
|
||||||
a1 = ((op_t *) srcp1)[3];
|
|
||||||
b1 = ((op_t *) srcp2)[3];
|
|
||||||
if (a0 != b0)
|
|
||||||
return CMP_LT_OR_GT (a0, b0);
|
|
||||||
|
|
||||||
srcp1 += 4 * OPSIZ;
|
|
||||||
srcp2 += 4 * OPSIZ;
|
|
||||||
len -= 4;
|
|
||||||
}
|
|
||||||
while (len != 0);
|
|
||||||
|
|
||||||
/* This is the right position for do0. Please don't move
|
|
||||||
it into the loop. */
|
|
||||||
do0:
|
|
||||||
if (a1 != b1)
|
|
||||||
return CMP_LT_OR_GT (a1, b1);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int memcmp_not_common_alignment __P((intptr_t, intptr_t, size_t));
|
|
||||||
|
|
||||||
/* memcmp_not_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN
|
|
||||||
`op_t' objects (not LEN bytes!). SRCP2 should be aligned for memory
|
|
||||||
operations on `op_t', but SRCP1 *should be unaligned*. */
|
|
||||||
#ifdef __GNUC__
|
|
||||||
__inline
|
|
||||||
#endif
|
|
||||||
static int
|
|
||||||
memcmp_not_common_alignment (srcp1, srcp2, len)
|
|
||||||
intptr_t srcp1;
|
|
||||||
intptr_t srcp2;
|
|
||||||
size_t len;
|
|
||||||
{
|
|
||||||
op_t a0, a1, a2, a3;
|
|
||||||
op_t b0, b1, b2, b3;
|
|
||||||
op_t x;
|
|
||||||
int shl, shr;
|
|
||||||
|
|
||||||
/* Calculate how to shift a word read at the memory operation
|
|
||||||
aligned srcp1 to make it aligned for comparison. */
|
|
||||||
|
|
||||||
shl = 8 * (srcp1 % OPSIZ);
|
|
||||||
shr = 8 * OPSIZ - shl;
|
|
||||||
|
|
||||||
/* Make SRCP1 aligned by rounding it down to the beginning of the `op_t'
|
|
||||||
it points in the middle of. */
|
|
||||||
srcp1 &= -OPSIZ;
|
|
||||||
|
|
||||||
switch (len % 4)
|
|
||||||
{
|
|
||||||
default: /* Avoid warning about uninitialized local variables. */
|
|
||||||
case 2:
|
|
||||||
a1 = ((op_t *) srcp1)[0];
|
|
||||||
a2 = ((op_t *) srcp1)[1];
|
|
||||||
b2 = ((op_t *) srcp2)[0];
|
|
||||||
srcp1 -= 1 * OPSIZ;
|
|
||||||
srcp2 -= 2 * OPSIZ;
|
|
||||||
len += 2;
|
|
||||||
goto do1;
|
|
||||||
case 3:
|
|
||||||
a0 = ((op_t *) srcp1)[0];
|
|
||||||
a1 = ((op_t *) srcp1)[1];
|
|
||||||
b1 = ((op_t *) srcp2)[0];
|
|
||||||
srcp2 -= 1 * OPSIZ;
|
|
||||||
len += 1;
|
|
||||||
goto do2;
|
|
||||||
case 0:
|
|
||||||
if (OP_T_THRES <= 3 * OPSIZ && len == 0)
|
|
||||||
return 0;
|
|
||||||
a3 = ((op_t *) srcp1)[0];
|
|
||||||
a0 = ((op_t *) srcp1)[1];
|
|
||||||
b0 = ((op_t *) srcp2)[0];
|
|
||||||
srcp1 += 1 * OPSIZ;
|
|
||||||
goto do3;
|
|
||||||
case 1:
|
|
||||||
a2 = ((op_t *) srcp1)[0];
|
|
||||||
a3 = ((op_t *) srcp1)[1];
|
|
||||||
b3 = ((op_t *) srcp2)[0];
|
|
||||||
srcp1 += 2 * OPSIZ;
|
|
||||||
srcp2 += 1 * OPSIZ;
|
|
||||||
len -= 1;
|
|
||||||
if (OP_T_THRES <= 3 * OPSIZ && len == 0)
|
|
||||||
goto do0;
|
|
||||||
/* Fall through. */
|
|
||||||
}
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
a0 = ((op_t *) srcp1)[0];
|
|
||||||
b0 = ((op_t *) srcp2)[0];
|
|
||||||
x = MERGE(a2, shl, a3, shr);
|
|
||||||
if (x != b3)
|
|
||||||
return CMP_LT_OR_GT (x, b3);
|
|
||||||
|
|
||||||
do3:
|
|
||||||
a1 = ((op_t *) srcp1)[1];
|
|
||||||
b1 = ((op_t *) srcp2)[1];
|
|
||||||
x = MERGE(a3, shl, a0, shr);
|
|
||||||
if (x != b0)
|
|
||||||
return CMP_LT_OR_GT (x, b0);
|
|
||||||
|
|
||||||
do2:
|
|
||||||
a2 = ((op_t *) srcp1)[2];
|
|
||||||
b2 = ((op_t *) srcp2)[2];
|
|
||||||
x = MERGE(a0, shl, a1, shr);
|
|
||||||
if (x != b1)
|
|
||||||
return CMP_LT_OR_GT (x, b1);
|
|
||||||
|
|
||||||
do1:
|
|
||||||
a3 = ((op_t *) srcp1)[3];
|
|
||||||
b3 = ((op_t *) srcp2)[3];
|
|
||||||
x = MERGE(a1, shl, a2, shr);
|
|
||||||
if (x != b2)
|
|
||||||
return CMP_LT_OR_GT (x, b2);
|
|
||||||
|
|
||||||
srcp1 += 4 * OPSIZ;
|
|
||||||
srcp2 += 4 * OPSIZ;
|
|
||||||
len -= 4;
|
|
||||||
}
|
|
||||||
while (len != 0);
|
|
||||||
|
|
||||||
/* This is the right position for do0. Please don't move
|
|
||||||
it into the loop. */
|
|
||||||
do0:
|
|
||||||
x = MERGE(a2, shl, a3, shr);
|
|
||||||
if (x != b3)
|
|
||||||
return CMP_LT_OR_GT (x, b3);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
rpl_memcmp (s1, s2, len)
|
|
||||||
const __ptr_t s1;
|
|
||||||
const __ptr_t s2;
|
|
||||||
size_t len;
|
|
||||||
{
|
|
||||||
op_t a0;
|
|
||||||
op_t b0;
|
|
||||||
intptr_t srcp1 = (intptr_t) s1;
|
|
||||||
intptr_t srcp2 = (intptr_t) s2;
|
|
||||||
op_t res;
|
|
||||||
|
|
||||||
if (len >= OP_T_THRES)
|
|
||||||
{
|
|
||||||
/* There are at least some bytes to compare. No need to test
|
|
||||||
for LEN == 0 in this alignment loop. */
|
|
||||||
while (srcp2 % OPSIZ != 0)
|
|
||||||
{
|
|
||||||
a0 = ((byte *) srcp1)[0];
|
|
||||||
b0 = ((byte *) srcp2)[0];
|
|
||||||
srcp1 += 1;
|
|
||||||
srcp2 += 1;
|
|
||||||
res = a0 - b0;
|
|
||||||
if (res != 0)
|
|
||||||
return res;
|
|
||||||
len -= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SRCP2 is now aligned for memory operations on `op_t'.
|
|
||||||
SRCP1 alignment determines if we can do a simple,
|
|
||||||
aligned compare or need to shuffle bits. */
|
|
||||||
|
|
||||||
if (srcp1 % OPSIZ == 0)
|
|
||||||
res = memcmp_common_alignment (srcp1, srcp2, len / OPSIZ);
|
|
||||||
else
|
|
||||||
res = memcmp_not_common_alignment (srcp1, srcp2, len / OPSIZ);
|
|
||||||
if (res != 0)
|
|
||||||
return res;
|
|
||||||
|
|
||||||
/* Number of bytes remaining in the interval [0..OPSIZ-1]. */
|
|
||||||
srcp1 += len & -OPSIZ;
|
|
||||||
srcp2 += len & -OPSIZ;
|
|
||||||
len %= OPSIZ;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* There are just a few bytes to compare. Use byte memory operations. */
|
|
||||||
while (len != 0)
|
|
||||||
{
|
|
||||||
a0 = ((byte *) srcp1)[0];
|
|
||||||
b0 = ((byte *) srcp2)[0];
|
|
||||||
srcp1 += 1;
|
|
||||||
srcp2 += 1;
|
|
||||||
res = a0 - b0;
|
|
||||||
if (res != 0)
|
|
||||||
return res;
|
|
||||||
len -= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef weak_alias
|
|
||||||
# undef bcmp
|
|
||||||
weak_alias (memcmp, bcmp)
|
|
||||||
#endif
|
|
|
@ -1,44 +0,0 @@
|
||||||
/* Work around bug on some systems where realloc (NULL, 0) fails.
|
|
||||||
Copyright (C) 1997 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, write to the Free Software Foundation, Inc., Foundation,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
|
|
||||||
|
|
||||||
/* written by Jim Meyering */
|
|
||||||
|
|
||||||
#if HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
#undef realloc
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
char *malloc ();
|
|
||||||
char *realloc ();
|
|
||||||
|
|
||||||
/* Change the size of an allocated block of memory P to N bytes,
|
|
||||||
with error checking. If N is zero, change it to 1. If P is NULL,
|
|
||||||
use malloc. */
|
|
||||||
|
|
||||||
char *
|
|
||||||
rpl_realloc (p, n)
|
|
||||||
char *p;
|
|
||||||
size_t n;
|
|
||||||
{
|
|
||||||
if (n == 0)
|
|
||||||
n = 1;
|
|
||||||
if (p == 0)
|
|
||||||
return malloc (n);
|
|
||||||
return realloc (p, n);
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Makefile.in generated by automake 1.13.3 from Makefile.am.
|
# Makefile.in generated by automake 1.14 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
@ -82,7 +82,7 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
||||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
@ -111,7 +111,6 @@ am__can_run_installinfo = \
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
AUTOCONF = @AUTOCONF@
|
AUTOCONF = @AUTOCONF@
|
||||||
|
@ -132,7 +131,6 @@ ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
INCLUDES = @INCLUDES@
|
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
@ -141,7 +139,6 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
LN_S = @LN_S@
|
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
|
@ -155,7 +152,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
PACKAGE_URL = @PACKAGE_URL@
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
RANLIB = @RANLIB@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
|
|
|
@ -2,12 +2,74 @@
|
||||||
|
|
||||||
sbin_PROGRAMS = tincd
|
sbin_PROGRAMS = tincd
|
||||||
|
|
||||||
EXTRA_DIST = linux/device.c bsd/device.c solaris/device.c cygwin/device.c mingw/device.c mingw/common.h
|
tincd_SOURCES = \
|
||||||
|
have.h \
|
||||||
|
system.h \
|
||||||
|
avl_tree.c avl_tree.h \
|
||||||
|
conf.c conf.h \
|
||||||
|
connection.c connection.h \
|
||||||
|
device.h \
|
||||||
|
dropin.c dropin.h \
|
||||||
|
dummy_device.c \
|
||||||
|
edge.c edge.h \
|
||||||
|
ethernet.h \
|
||||||
|
event.c event.h \
|
||||||
|
fake-gai-errnos.h \
|
||||||
|
fake-getaddrinfo.c fake-getaddrinfo.h \
|
||||||
|
fake-getnameinfo.c fake-getnameinfo.h \
|
||||||
|
getopt.c getopt.h \
|
||||||
|
getopt1.c \
|
||||||
|
graph.c graph.h \
|
||||||
|
ipv4.h \
|
||||||
|
ipv6.h \
|
||||||
|
list.c list.h \
|
||||||
|
logger.c logger.h \
|
||||||
|
meta.c meta.h \
|
||||||
|
multicast_device.c \
|
||||||
|
net.c net.h \
|
||||||
|
net_packet.c \
|
||||||
|
net_setup.c \
|
||||||
|
net_socket.c \
|
||||||
|
netutl.c netutl.h \
|
||||||
|
node.c node.h \
|
||||||
|
pidfile.c pidfile.h \
|
||||||
|
process.c process.h \
|
||||||
|
protocol.c protocol.h \
|
||||||
|
protocol_auth.c \
|
||||||
|
protocol_edge.c \
|
||||||
|
protocol_misc.c \
|
||||||
|
protocol_key.c \
|
||||||
|
protocol_subnet.c \
|
||||||
|
raw_socket_device.c \
|
||||||
|
route.c route.h \
|
||||||
|
subnet.c subnet.h \
|
||||||
|
tincd.c \
|
||||||
|
utils.c utils.h \
|
||||||
|
xalloc.h \
|
||||||
|
xmalloc.c
|
||||||
|
|
||||||
tincd_SOURCES = conf.c connection.c edge.c event.c graph.c logger.c meta.c net.c net_packet.c net_setup.c \
|
if LINUX
|
||||||
net_socket.c netutl.c node.c process.c protocol.c protocol_auth.c protocol_edge.c protocol_misc.c \
|
tincd_SOURCES += linux/device.c
|
||||||
protocol_key.c protocol_subnet.c route.c subnet.c tincd.c \
|
endif
|
||||||
dummy_device.c raw_socket_device.c multicast_device.c
|
|
||||||
|
if BSD
|
||||||
|
tincd_SOURCES += bsd/device.c
|
||||||
|
if TUNEMU
|
||||||
|
tincd_SOURCES += bsd/tunemu.c bsd/tunemu.h
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if SOLARIS
|
||||||
|
tincd_SOURCES += solaris/device.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
if MINGW
|
||||||
|
tincd_SOURCES += mingw/device.c mingw/common.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
if CYGWIN
|
||||||
|
tincd_SOURCES += cygwin/device.c
|
||||||
|
endif
|
||||||
|
|
||||||
if UML
|
if UML
|
||||||
tincd_SOURCES += uml_device.c
|
tincd_SOURCES += uml_device.c
|
||||||
|
@ -17,29 +79,8 @@ if VDE
|
||||||
tincd_SOURCES += vde_device.c
|
tincd_SOURCES += vde_device.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if TUNEMU
|
|
||||||
tincd_SOURCES += bsd/tunemu.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
nodist_tincd_SOURCES = device.c
|
|
||||||
|
|
||||||
DEFAULT_INCLUDES =
|
|
||||||
|
|
||||||
INCLUDES = @INCLUDES@ -I$(top_builddir) -I$(top_srcdir)/lib
|
|
||||||
|
|
||||||
noinst_HEADERS = conf.h connection.h device.h edge.h event.h graph.h logger.h meta.h net.h netutl.h node.h process.h \
|
|
||||||
protocol.h route.h subnet.h bsd/tunemu.h
|
|
||||||
|
|
||||||
LIBS = @LIBS@
|
|
||||||
|
|
||||||
if TUNEMU
|
if TUNEMU
|
||||||
LIBS += -lpcap
|
LIBS += -lpcap
|
||||||
endif
|
endif
|
||||||
|
|
||||||
tincd_LDADD = \
|
AM_CPPFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\"
|
||||||
$(top_builddir)/lib/libvpn.a
|
|
||||||
|
|
||||||
AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\"
|
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
rm -f `find . -type l`
|
|
||||||
|
|
282
src/Makefile.in
282
src/Makefile.in
|
@ -1,4 +1,4 @@
|
||||||
# Makefile.in generated by automake 1.13.3 from Makefile.am.
|
# Makefile.in generated by automake 1.14 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
@ -14,7 +14,6 @@
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
|
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||||
am__make_running_with_option = \
|
am__make_running_with_option = \
|
||||||
|
@ -80,17 +79,22 @@ POST_UNINSTALL = :
|
||||||
build_triplet = @build@
|
build_triplet = @build@
|
||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
sbin_PROGRAMS = tincd$(EXEEXT)
|
sbin_PROGRAMS = tincd$(EXEEXT)
|
||||||
@UML_TRUE@am__append_1 = uml_device.c
|
@LINUX_TRUE@am__append_1 = linux/device.c
|
||||||
@VDE_TRUE@am__append_2 = vde_device.c
|
@BSD_TRUE@am__append_2 = bsd/device.c
|
||||||
@TUNEMU_TRUE@am__append_3 = bsd/tunemu.c
|
@BSD_TRUE@@TUNEMU_TRUE@am__append_3 = bsd/tunemu.c bsd/tunemu.h
|
||||||
@TUNEMU_TRUE@am__append_4 = -lpcap
|
@SOLARIS_TRUE@am__append_4 = solaris/device.c
|
||||||
|
@MINGW_TRUE@am__append_5 = mingw/device.c mingw/common.h
|
||||||
|
@CYGWIN_TRUE@am__append_6 = cygwin/device.c
|
||||||
|
@UML_TRUE@am__append_7 = uml_device.c
|
||||||
|
@VDE_TRUE@am__append_8 = vde_device.c
|
||||||
|
@TUNEMU_TRUE@am__append_9 = -lpcap
|
||||||
subdir = src
|
subdir = src
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
$(top_srcdir)/depcomp $(noinst_HEADERS)
|
$(top_srcdir)/depcomp
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
|
||||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
@ -99,30 +103,48 @@ CONFIG_CLEAN_FILES =
|
||||||
CONFIG_CLEAN_VPATH_FILES =
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
am__installdirs = "$(DESTDIR)$(sbindir)"
|
am__installdirs = "$(DESTDIR)$(sbindir)"
|
||||||
PROGRAMS = $(sbin_PROGRAMS)
|
PROGRAMS = $(sbin_PROGRAMS)
|
||||||
am__tincd_SOURCES_DIST = conf.c connection.c edge.c event.c graph.c \
|
am__tincd_SOURCES_DIST = have.h system.h avl_tree.c avl_tree.h conf.c \
|
||||||
logger.c meta.c net.c net_packet.c net_setup.c net_socket.c \
|
conf.h connection.c connection.h device.h dropin.c dropin.h \
|
||||||
netutl.c node.c process.c protocol.c protocol_auth.c \
|
dummy_device.c edge.c edge.h ethernet.h event.c event.h \
|
||||||
protocol_edge.c protocol_misc.c protocol_key.c \
|
fake-gai-errnos.h fake-getaddrinfo.c fake-getaddrinfo.h \
|
||||||
protocol_subnet.c route.c subnet.c tincd.c dummy_device.c \
|
fake-getnameinfo.c fake-getnameinfo.h getopt.c getopt.h \
|
||||||
raw_socket_device.c multicast_device.c uml_device.c \
|
getopt1.c graph.c graph.h ipv4.h ipv6.h list.c list.h logger.c \
|
||||||
vde_device.c bsd/tunemu.c
|
logger.h meta.c meta.h multicast_device.c net.c net.h \
|
||||||
@UML_TRUE@am__objects_1 = uml_device.$(OBJEXT)
|
net_packet.c net_setup.c net_socket.c netutl.c netutl.h node.c \
|
||||||
@VDE_TRUE@am__objects_2 = vde_device.$(OBJEXT)
|
node.h pidfile.c pidfile.h process.c process.h protocol.c \
|
||||||
@TUNEMU_TRUE@am__objects_3 = tunemu.$(OBJEXT)
|
protocol.h protocol_auth.c protocol_edge.c protocol_misc.c \
|
||||||
am_tincd_OBJECTS = conf.$(OBJEXT) connection.$(OBJEXT) edge.$(OBJEXT) \
|
protocol_key.c protocol_subnet.c raw_socket_device.c route.c \
|
||||||
event.$(OBJEXT) graph.$(OBJEXT) logger.$(OBJEXT) \
|
route.h subnet.c subnet.h tincd.c utils.c utils.h xalloc.h \
|
||||||
meta.$(OBJEXT) net.$(OBJEXT) net_packet.$(OBJEXT) \
|
xmalloc.c linux/device.c bsd/device.c bsd/tunemu.c \
|
||||||
|
bsd/tunemu.h solaris/device.c mingw/device.c mingw/common.h \
|
||||||
|
cygwin/device.c uml_device.c vde_device.c
|
||||||
|
am__dirstamp = $(am__leading_dot)dirstamp
|
||||||
|
@LINUX_TRUE@am__objects_1 = linux/device.$(OBJEXT)
|
||||||
|
@BSD_TRUE@am__objects_2 = bsd/device.$(OBJEXT)
|
||||||
|
@BSD_TRUE@@TUNEMU_TRUE@am__objects_3 = bsd/tunemu.$(OBJEXT)
|
||||||
|
@SOLARIS_TRUE@am__objects_4 = solaris/device.$(OBJEXT)
|
||||||
|
@MINGW_TRUE@am__objects_5 = mingw/device.$(OBJEXT)
|
||||||
|
@CYGWIN_TRUE@am__objects_6 = cygwin/device.$(OBJEXT)
|
||||||
|
@UML_TRUE@am__objects_7 = uml_device.$(OBJEXT)
|
||||||
|
@VDE_TRUE@am__objects_8 = vde_device.$(OBJEXT)
|
||||||
|
am_tincd_OBJECTS = avl_tree.$(OBJEXT) conf.$(OBJEXT) \
|
||||||
|
connection.$(OBJEXT) dropin.$(OBJEXT) dummy_device.$(OBJEXT) \
|
||||||
|
edge.$(OBJEXT) event.$(OBJEXT) fake-getaddrinfo.$(OBJEXT) \
|
||||||
|
fake-getnameinfo.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \
|
||||||
|
graph.$(OBJEXT) list.$(OBJEXT) logger.$(OBJEXT) meta.$(OBJEXT) \
|
||||||
|
multicast_device.$(OBJEXT) net.$(OBJEXT) net_packet.$(OBJEXT) \
|
||||||
net_setup.$(OBJEXT) net_socket.$(OBJEXT) netutl.$(OBJEXT) \
|
net_setup.$(OBJEXT) net_socket.$(OBJEXT) netutl.$(OBJEXT) \
|
||||||
node.$(OBJEXT) process.$(OBJEXT) protocol.$(OBJEXT) \
|
node.$(OBJEXT) pidfile.$(OBJEXT) process.$(OBJEXT) \
|
||||||
protocol_auth.$(OBJEXT) protocol_edge.$(OBJEXT) \
|
protocol.$(OBJEXT) protocol_auth.$(OBJEXT) \
|
||||||
protocol_misc.$(OBJEXT) protocol_key.$(OBJEXT) \
|
protocol_edge.$(OBJEXT) protocol_misc.$(OBJEXT) \
|
||||||
protocol_subnet.$(OBJEXT) route.$(OBJEXT) subnet.$(OBJEXT) \
|
protocol_key.$(OBJEXT) protocol_subnet.$(OBJEXT) \
|
||||||
tincd.$(OBJEXT) dummy_device.$(OBJEXT) \
|
raw_socket_device.$(OBJEXT) route.$(OBJEXT) subnet.$(OBJEXT) \
|
||||||
raw_socket_device.$(OBJEXT) multicast_device.$(OBJEXT) \
|
tincd.$(OBJEXT) utils.$(OBJEXT) xmalloc.$(OBJEXT) \
|
||||||
$(am__objects_1) $(am__objects_2) $(am__objects_3)
|
$(am__objects_1) $(am__objects_2) $(am__objects_3) \
|
||||||
nodist_tincd_OBJECTS = device.$(OBJEXT)
|
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
|
||||||
tincd_OBJECTS = $(am_tincd_OBJECTS) $(nodist_tincd_OBJECTS)
|
$(am__objects_7) $(am__objects_8)
|
||||||
tincd_DEPENDENCIES = $(top_builddir)/lib/libvpn.a
|
tincd_OBJECTS = $(am_tincd_OBJECTS)
|
||||||
|
tincd_LDADD = $(LDADD)
|
||||||
AM_V_P = $(am__v_P_@AM_V@)
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
am__v_P_0 = false
|
am__v_P_0 = false
|
||||||
|
@ -135,13 +157,10 @@ AM_V_at = $(am__v_at_@AM_V@)
|
||||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
am__v_at_0 = @
|
am__v_at_0 = @
|
||||||
am__v_at_1 =
|
am__v_at_1 =
|
||||||
|
DEFAULT_INCLUDES =
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
am__mv = mv -f
|
am__mv = mv -f
|
||||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
|
||||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
|
||||||
am__v_lt_0 = --silent
|
|
||||||
am__v_lt_1 =
|
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||||
|
@ -154,14 +173,13 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||||
am__v_CCLD_1 =
|
am__v_CCLD_1 =
|
||||||
SOURCES = $(tincd_SOURCES) $(nodist_tincd_SOURCES)
|
SOURCES = $(tincd_SOURCES)
|
||||||
DIST_SOURCES = $(am__tincd_SOURCES_DIST)
|
DIST_SOURCES = $(am__tincd_SOURCES_DIST)
|
||||||
am__can_run_installinfo = \
|
am__can_run_installinfo = \
|
||||||
case $$AM_UPDATE_INFO_DIR in \
|
case $$AM_UPDATE_INFO_DIR in \
|
||||||
n|no|NO) false;; \
|
n|no|NO) false;; \
|
||||||
*) (install-info --version) >/dev/null 2>&1;; \
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
esac
|
esac
|
||||||
HEADERS = $(noinst_HEADERS)
|
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
# Read a list of newline-separated strings from the standard input,
|
# Read a list of newline-separated strings from the standard input,
|
||||||
# and print each of them once, without duplicates. Input order is
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
@ -183,7 +201,6 @@ ETAGS = etags
|
||||||
CTAGS = ctags
|
CTAGS = ctags
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
AUTOCONF = @AUTOCONF@
|
AUTOCONF = @AUTOCONF@
|
||||||
|
@ -204,7 +221,6 @@ ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
INCLUDES = @INCLUDES@ -I$(top_builddir) -I$(top_srcdir)/lib
|
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
@ -212,8 +228,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@ $(am__append_4)
|
LIBS = @LIBS@ $(am__append_9)
|
||||||
LN_S = @LN_S@
|
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
|
@ -227,7 +242,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
PACKAGE_URL = @PACKAGE_URL@
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
RANLIB = @RANLIB@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
|
@ -282,23 +296,22 @@ target_alias = @target_alias@
|
||||||
top_build_prefix = @top_build_prefix@
|
top_build_prefix = @top_build_prefix@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
EXTRA_DIST = linux/device.c bsd/device.c solaris/device.c cygwin/device.c mingw/device.c mingw/common.h
|
tincd_SOURCES = have.h system.h avl_tree.c avl_tree.h conf.c conf.h \
|
||||||
tincd_SOURCES = conf.c connection.c edge.c event.c graph.c logger.c \
|
connection.c connection.h device.h dropin.c dropin.h \
|
||||||
meta.c net.c net_packet.c net_setup.c net_socket.c netutl.c \
|
dummy_device.c edge.c edge.h ethernet.h event.c event.h \
|
||||||
node.c process.c protocol.c protocol_auth.c protocol_edge.c \
|
fake-gai-errnos.h fake-getaddrinfo.c fake-getaddrinfo.h \
|
||||||
protocol_misc.c protocol_key.c protocol_subnet.c route.c \
|
fake-getnameinfo.c fake-getnameinfo.h getopt.c getopt.h \
|
||||||
subnet.c tincd.c dummy_device.c raw_socket_device.c \
|
getopt1.c graph.c graph.h ipv4.h ipv6.h list.c list.h logger.c \
|
||||||
multicast_device.c $(am__append_1) $(am__append_2) \
|
logger.h meta.c meta.h multicast_device.c net.c net.h \
|
||||||
$(am__append_3)
|
net_packet.c net_setup.c net_socket.c netutl.c netutl.h node.c \
|
||||||
nodist_tincd_SOURCES = device.c
|
node.h pidfile.c pidfile.h process.c process.h protocol.c \
|
||||||
DEFAULT_INCLUDES =
|
protocol.h protocol_auth.c protocol_edge.c protocol_misc.c \
|
||||||
noinst_HEADERS = conf.h connection.h device.h edge.h event.h graph.h logger.h meta.h net.h netutl.h node.h process.h \
|
protocol_key.c protocol_subnet.c raw_socket_device.c route.c \
|
||||||
protocol.h route.h subnet.h bsd/tunemu.h
|
route.h subnet.c subnet.h tincd.c utils.c utils.h xalloc.h \
|
||||||
|
xmalloc.c $(am__append_1) $(am__append_2) $(am__append_3) \
|
||||||
tincd_LDADD = \
|
$(am__append_4) $(am__append_5) $(am__append_6) \
|
||||||
$(top_builddir)/lib/libvpn.a
|
$(am__append_7) $(am__append_8)
|
||||||
|
AM_CPPFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\"
|
||||||
AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\"
|
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
@ -376,23 +389,92 @@ uninstall-sbinPROGRAMS:
|
||||||
clean-sbinPROGRAMS:
|
clean-sbinPROGRAMS:
|
||||||
-test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
|
-test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
|
||||||
|
|
||||||
|
installcheck-sbinPROGRAMS: $(sbin_PROGRAMS)
|
||||||
|
bad=0; pid=$$$$; list="$(sbin_PROGRAMS)"; for p in $$list; do \
|
||||||
|
case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
|
||||||
|
*" $$p "* | *" $(srcdir)/$$p "*) continue;; \
|
||||||
|
esac; \
|
||||||
|
f=`echo "$$p" | \
|
||||||
|
sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||||
|
for opt in --help --version; do \
|
||||||
|
if "$(DESTDIR)$(sbindir)/$$f" $$opt >c$${pid}_.out \
|
||||||
|
2>c$${pid}_.err </dev/null \
|
||||||
|
&& test -n "`cat c$${pid}_.out`" \
|
||||||
|
&& test -z "`cat c$${pid}_.err`"; then :; \
|
||||||
|
else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
|
||||||
|
done; \
|
||||||
|
done; rm -f c$${pid}_.???; exit $$bad
|
||||||
|
linux/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) linux
|
||||||
|
@: > linux/$(am__dirstamp)
|
||||||
|
linux/$(DEPDIR)/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) linux/$(DEPDIR)
|
||||||
|
@: > linux/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
linux/device.$(OBJEXT): linux/$(am__dirstamp) \
|
||||||
|
linux/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
bsd/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) bsd
|
||||||
|
@: > bsd/$(am__dirstamp)
|
||||||
|
bsd/$(DEPDIR)/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) bsd/$(DEPDIR)
|
||||||
|
@: > bsd/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
bsd/device.$(OBJEXT): bsd/$(am__dirstamp) \
|
||||||
|
bsd/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
bsd/tunemu.$(OBJEXT): bsd/$(am__dirstamp) \
|
||||||
|
bsd/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
solaris/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) solaris
|
||||||
|
@: > solaris/$(am__dirstamp)
|
||||||
|
solaris/$(DEPDIR)/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) solaris/$(DEPDIR)
|
||||||
|
@: > solaris/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
solaris/device.$(OBJEXT): solaris/$(am__dirstamp) \
|
||||||
|
solaris/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
mingw/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) mingw
|
||||||
|
@: > mingw/$(am__dirstamp)
|
||||||
|
mingw/$(DEPDIR)/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) mingw/$(DEPDIR)
|
||||||
|
@: > mingw/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
mingw/device.$(OBJEXT): mingw/$(am__dirstamp) \
|
||||||
|
mingw/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
cygwin/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) cygwin
|
||||||
|
@: > cygwin/$(am__dirstamp)
|
||||||
|
cygwin/$(DEPDIR)/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) cygwin/$(DEPDIR)
|
||||||
|
@: > cygwin/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
cygwin/device.$(OBJEXT): cygwin/$(am__dirstamp) \
|
||||||
|
cygwin/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
|
||||||
tincd$(EXEEXT): $(tincd_OBJECTS) $(tincd_DEPENDENCIES) $(EXTRA_tincd_DEPENDENCIES)
|
tincd$(EXEEXT): $(tincd_OBJECTS) $(tincd_DEPENDENCIES) $(EXTRA_tincd_DEPENDENCIES)
|
||||||
@rm -f tincd$(EXEEXT)
|
@rm -f tincd$(EXEEXT)
|
||||||
$(AM_V_CCLD)$(LINK) $(tincd_OBJECTS) $(tincd_LDADD) $(LIBS)
|
$(AM_V_CCLD)$(LINK) $(tincd_OBJECTS) $(tincd_LDADD) $(LIBS)
|
||||||
|
|
||||||
mostlyclean-compile:
|
mostlyclean-compile:
|
||||||
-rm -f *.$(OBJEXT)
|
-rm -f *.$(OBJEXT)
|
||||||
|
-rm -f bsd/*.$(OBJEXT)
|
||||||
|
-rm -f cygwin/*.$(OBJEXT)
|
||||||
|
-rm -f linux/*.$(OBJEXT)
|
||||||
|
-rm -f mingw/*.$(OBJEXT)
|
||||||
|
-rm -f solaris/*.$(OBJEXT)
|
||||||
|
|
||||||
distclean-compile:
|
distclean-compile:
|
||||||
-rm -f *.tab.c
|
-rm -f *.tab.c
|
||||||
|
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avl_tree.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conf.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conf.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/device.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dropin.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummy_device.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummy_device.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edge.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edge.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fake-getaddrinfo.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fake-getnameinfo.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/graph.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/graph.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logger.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logger.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/meta.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/meta.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multicast_device.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multicast_device.Po@am__quote@
|
||||||
|
@ -402,6 +484,7 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net_socket.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net_socket.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netutl.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netutl.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/node.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/node.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfile.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protocol.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protocol.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protocol_auth.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protocol_auth.Po@am__quote@
|
||||||
|
@ -413,37 +496,32 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/route.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/route.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subnet.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subnet.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tincd.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tincd.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tunemu.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uml_device.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uml_device.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vde_device.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vde_device.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@bsd/$(DEPDIR)/device.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@bsd/$(DEPDIR)/tunemu.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@cygwin/$(DEPDIR)/device.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@linux/$(DEPDIR)/device.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@mingw/$(DEPDIR)/device.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@solaris/$(DEPDIR)/device.Po@am__quote@
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||||
|
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
|
||||||
|
|
||||||
.c.obj:
|
.c.obj:
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||||
|
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||||
|
|
||||||
tunemu.o: bsd/tunemu.c
|
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tunemu.o -MD -MP -MF $(DEPDIR)/tunemu.Tpo -c -o tunemu.o `test -f 'bsd/tunemu.c' || echo '$(srcdir)/'`bsd/tunemu.c
|
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/tunemu.Tpo $(DEPDIR)/tunemu.Po
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='bsd/tunemu.c' object='tunemu.o' libtool=no @AMDEPBACKSLASH@
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tunemu.o `test -f 'bsd/tunemu.c' || echo '$(srcdir)/'`bsd/tunemu.c
|
|
||||||
|
|
||||||
tunemu.obj: bsd/tunemu.c
|
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tunemu.obj -MD -MP -MF $(DEPDIR)/tunemu.Tpo -c -o tunemu.obj `if test -f 'bsd/tunemu.c'; then $(CYGPATH_W) 'bsd/tunemu.c'; else $(CYGPATH_W) '$(srcdir)/bsd/tunemu.c'; fi`
|
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/tunemu.Tpo $(DEPDIR)/tunemu.Po
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='bsd/tunemu.c' object='tunemu.obj' libtool=no @AMDEPBACKSLASH@
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tunemu.obj `if test -f 'bsd/tunemu.c'; then $(CYGPATH_W) 'bsd/tunemu.c'; else $(CYGPATH_W) '$(srcdir)/bsd/tunemu.c'; fi`
|
|
||||||
|
|
||||||
ID: $(am__tagged_files)
|
ID: $(am__tagged_files)
|
||||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||||
|
@ -527,12 +605,9 @@ distdir: $(DISTFILES)
|
||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
$(MAKE) $(AM_MAKEFLAGS) \
|
|
||||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
|
||||||
dist-hook
|
|
||||||
check-am: all-am
|
check-am: all-am
|
||||||
check: check-am
|
check: check-am
|
||||||
all-am: Makefile $(PROGRAMS) $(HEADERS)
|
all-am: Makefile $(PROGRAMS)
|
||||||
installdirs:
|
installdirs:
|
||||||
for dir in "$(DESTDIR)$(sbindir)"; do \
|
for dir in "$(DESTDIR)$(sbindir)"; do \
|
||||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
|
@ -563,6 +638,16 @@ clean-generic:
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
-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 . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||||
|
-rm -f bsd/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
-rm -f bsd/$(am__dirstamp)
|
||||||
|
-rm -f cygwin/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
-rm -f cygwin/$(am__dirstamp)
|
||||||
|
-rm -f linux/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
-rm -f linux/$(am__dirstamp)
|
||||||
|
-rm -f mingw/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
-rm -f mingw/$(am__dirstamp)
|
||||||
|
-rm -f solaris/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
-rm -f solaris/$(am__dirstamp)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@ -572,7 +657,7 @@ clean: clean-am
|
||||||
clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am
|
clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -rf ./$(DEPDIR) bsd/$(DEPDIR) cygwin/$(DEPDIR) linux/$(DEPDIR) mingw/$(DEPDIR) solaris/$(DEPDIR)
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
distclean-tags
|
distclean-tags
|
||||||
|
@ -615,10 +700,10 @@ install-ps: install-ps-am
|
||||||
|
|
||||||
install-ps-am:
|
install-ps-am:
|
||||||
|
|
||||||
installcheck-am:
|
installcheck-am: installcheck-sbinPROGRAMS
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -rf ./$(DEPDIR) bsd/$(DEPDIR) cygwin/$(DEPDIR) linux/$(DEPDIR) mingw/$(DEPDIR) solaris/$(DEPDIR)
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
@ -639,23 +724,20 @@ uninstall-am: uninstall-sbinPROGRAMS
|
||||||
.MAKE: install-am install-strip
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
||||||
clean-sbinPROGRAMS cscopelist-am ctags ctags-am dist-hook \
|
clean-sbinPROGRAMS cscopelist-am ctags ctags-am distclean \
|
||||||
distclean distclean-compile distclean-generic distclean-tags \
|
distclean-compile distclean-generic distclean-tags distdir dvi \
|
||||||
distdir dvi dvi-am html html-am info info-am install \
|
dvi-am html html-am info info-am install install-am \
|
||||||
install-am install-data install-data-am install-dvi \
|
install-data install-data-am install-dvi install-dvi-am \
|
||||||
install-dvi-am install-exec install-exec-am install-html \
|
install-exec install-exec-am install-html install-html-am \
|
||||||
install-html-am install-info install-info-am install-man \
|
install-info install-info-am install-man install-pdf \
|
||||||
install-pdf install-pdf-am install-ps install-ps-am \
|
install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \
|
||||||
install-sbinPROGRAMS install-strip installcheck \
|
install-strip installcheck installcheck-am \
|
||||||
installcheck-am installdirs maintainer-clean \
|
installcheck-sbinPROGRAMS installdirs maintainer-clean \
|
||||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||||
mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
|
mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
|
||||||
uninstall-am uninstall-sbinPROGRAMS
|
uninstall-am uninstall-sbinPROGRAMS
|
||||||
|
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
rm -f `find . -type l`
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# 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.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
.NOEXPORT:
|
.NOEXPORT:
|
||||||
|
|
|
@ -19,18 +19,18 @@
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "system.h"
|
#include "../system.h"
|
||||||
|
|
||||||
#include "conf.h"
|
#include "../conf.h"
|
||||||
#include "device.h"
|
#include "../device.h"
|
||||||
#include "logger.h"
|
#include "../logger.h"
|
||||||
#include "net.h"
|
#include "../net.h"
|
||||||
#include "route.h"
|
#include "../route.h"
|
||||||
#include "utils.h"
|
#include "../utils.h"
|
||||||
#include "xalloc.h"
|
#include "../xalloc.h"
|
||||||
|
|
||||||
#ifdef ENABLE_TUNEMU
|
#ifdef ENABLE_TUNEMU
|
||||||
#include "bsd/tunemu.h"
|
#include "tunemu.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DEFAULT_TUN_DEVICE "/dev/tun0"
|
#define DEFAULT_TUN_DEVICE "/dev/tun0"
|
||||||
|
|
|
@ -18,20 +18,20 @@
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "system.h"
|
#include "../system.h"
|
||||||
|
|
||||||
#include <w32api/windows.h>
|
#include <w32api/windows.h>
|
||||||
#include <w32api/winioctl.h>
|
#include <w32api/winioctl.h>
|
||||||
|
|
||||||
#include "conf.h"
|
#include "../conf.h"
|
||||||
#include "device.h"
|
#include "../device.h"
|
||||||
#include "logger.h"
|
#include "../logger.h"
|
||||||
#include "net.h"
|
#include "../net.h"
|
||||||
#include "route.h"
|
#include "../route.h"
|
||||||
#include "utils.h"
|
#include "../utils.h"
|
||||||
#include "xalloc.h"
|
#include "../xalloc.h"
|
||||||
|
|
||||||
#include "mingw/common.h"
|
#include "../mingw/common.h"
|
||||||
|
|
||||||
int device_fd = -1;
|
int device_fd = -1;
|
||||||
static HANDLE device_handle = INVALID_HANDLE_VALUE;
|
static HANDLE device_handle = INVALID_HANDLE_VALUE;
|
||||||
|
|
|
@ -31,7 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include <config.h>
|
#include "../config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined (__STDC__) || !__STDC__
|
#if !defined (__STDC__) || !__STDC__
|
|
@ -20,7 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include <config.h>
|
#include "../config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "getopt.h"
|
#include "getopt.h"
|
|
@ -45,7 +45,7 @@
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
|
||||||
#include "avl_tree.h"
|
#include "avl_tree.h"
|
||||||
#include "config.h"
|
#include "conf.h"
|
||||||
#include "connection.h"
|
#include "connection.h"
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
#include "edge.h"
|
#include "edge.h"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "system.h"
|
#include "../system.h"
|
||||||
|
|
||||||
#ifdef HAVE_LINUX_IF_TUN_H
|
#ifdef HAVE_LINUX_IF_TUN_H
|
||||||
#include <linux/if_tun.h>
|
#include <linux/if_tun.h>
|
||||||
|
@ -27,13 +27,13 @@
|
||||||
#define DEFAULT_DEVICE "/dev/tap0"
|
#define DEFAULT_DEVICE "/dev/tap0"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "conf.h"
|
#include "../conf.h"
|
||||||
#include "device.h"
|
#include "../device.h"
|
||||||
#include "logger.h"
|
#include "../logger.h"
|
||||||
#include "net.h"
|
#include "../net.h"
|
||||||
#include "route.h"
|
#include "../route.h"
|
||||||
#include "utils.h"
|
#include "../utils.h"
|
||||||
#include "xalloc.h"
|
#include "../xalloc.h"
|
||||||
|
|
||||||
typedef enum device_type_t {
|
typedef enum device_type_t {
|
||||||
DEVICE_TYPE_ETHERTAP,
|
DEVICE_TYPE_ETHERTAP,
|
||||||
|
|
|
@ -18,20 +18,20 @@
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "system.h"
|
#include "../system.h"
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <winioctl.h>
|
#include <winioctl.h>
|
||||||
|
|
||||||
#include "conf.h"
|
#include "../conf.h"
|
||||||
#include "device.h"
|
#include "../device.h"
|
||||||
#include "logger.h"
|
#include "../logger.h"
|
||||||
#include "net.h"
|
#include "../net.h"
|
||||||
#include "route.h"
|
#include "../route.h"
|
||||||
#include "utils.h"
|
#include "../utils.h"
|
||||||
#include "xalloc.h"
|
#include "../xalloc.h"
|
||||||
|
|
||||||
#include "mingw/common.h"
|
#include "common.h"
|
||||||
|
|
||||||
int device_fd = -1;
|
int device_fd = -1;
|
||||||
static HANDLE device_handle = INVALID_HANDLE_VALUE;
|
static HANDLE device_handle = INVALID_HANDLE_VALUE;
|
||||||
|
|
19
src/net.c
19
src/net.c
|
@ -134,7 +134,7 @@ static int build_fdset(fd_set *readset, fd_set *writeset) {
|
||||||
purge();
|
purge();
|
||||||
} else {
|
} else {
|
||||||
FD_SET(c->socket, readset);
|
FD_SET(c->socket, readset);
|
||||||
if(c->outbuflen > 0)
|
if(c->outbuflen > 0 || c->status.connecting)
|
||||||
FD_SET(c->socket, writeset);
|
FD_SET(c->socket, writeset);
|
||||||
if(c->socket > max)
|
if(c->socket > max)
|
||||||
max = c->socket;
|
max = c->socket;
|
||||||
|
@ -212,6 +212,12 @@ void terminate_connection(connection_t *c, bool report) {
|
||||||
c->status.remove = false;
|
c->status.remove = false;
|
||||||
do_outgoing_connection(c);
|
do_outgoing_connection(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef HAVE_MINGW
|
||||||
|
/* Clean up dead proxy processes */
|
||||||
|
|
||||||
|
while(waitpid(-1, NULL, WNOHANG) > 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -308,7 +314,7 @@ static void check_network_activity(fd_set * readset, fd_set * writeset) {
|
||||||
if(c->status.remove)
|
if(c->status.remove)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(FD_ISSET(c->socket, readset)) {
|
if(FD_ISSET(c->socket, writeset)) {
|
||||||
if(c->status.connecting) {
|
if(c->status.connecting) {
|
||||||
c->status.connecting = false;
|
c->status.connecting = false;
|
||||||
getsockopt(c->socket, SOL_SOCKET, SO_ERROR, (void *)&result, &len);
|
getsockopt(c->socket, SOL_SOCKET, SO_ERROR, (void *)&result, &len);
|
||||||
|
@ -325,14 +331,14 @@ static void check_network_activity(fd_set * readset, fd_set * writeset) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!receive_meta(c)) {
|
if(!flush_meta(c)) {
|
||||||
terminate_connection(c, c->status.active);
|
terminate_connection(c, c->status.active);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(FD_ISSET(c->socket, writeset)) {
|
if(FD_ISSET(c->socket, readset)) {
|
||||||
if(!flush_meta(c)) {
|
if(!receive_meta(c)) {
|
||||||
terminate_connection(c, c->status.active);
|
terminate_connection(c, c->status.active);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -490,7 +496,8 @@ int main_loop(void) {
|
||||||
expire_events();
|
expire_events();
|
||||||
for(node = connection_tree->head; node; node = node->next) {
|
for(node = connection_tree->head; node; node = node->next) {
|
||||||
connection_t *c = node->data;
|
connection_t *c = node->data;
|
||||||
send_ping(c);
|
if(c->status.active)
|
||||||
|
send_ping(c);
|
||||||
}
|
}
|
||||||
sigalrm = false;
|
sigalrm = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -295,17 +295,18 @@ char *get_name(void) {
|
||||||
|
|
||||||
if(*name == '$') {
|
if(*name == '$') {
|
||||||
char *envname = getenv(name + 1);
|
char *envname = getenv(name + 1);
|
||||||
|
char hostname[32] = "";
|
||||||
if(!envname) {
|
if(!envname) {
|
||||||
if(strcmp(name + 1, "HOST")) {
|
if(strcmp(name + 1, "HOST")) {
|
||||||
fprintf(stderr, "Invalid Name: environment variable %s does not exist\n", name + 1);
|
fprintf(stderr, "Invalid Name: environment variable %s does not exist\n", name + 1);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
char envname[32];
|
if(gethostname(hostname, sizeof hostname) || !*hostname) {
|
||||||
if(gethostname(envname, 32)) {
|
|
||||||
fprintf(stderr, "Could not get hostname: %s\n", strerror(errno));
|
fprintf(stderr, "Could not get hostname: %s\n", strerror(errno));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
envname[31] = 0;
|
hostname[31] = 0;
|
||||||
|
envname = hostname;
|
||||||
}
|
}
|
||||||
free(name);
|
free(name);
|
||||||
name = xstrdup(envname);
|
name = xstrdup(envname);
|
||||||
|
|
|
@ -18,19 +18,18 @@
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "../system.h"
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
#include <sys/stropts.h>
|
#include <sys/stropts.h>
|
||||||
#include <sys/sockio.h>
|
#include <sys/sockio.h>
|
||||||
#include <net/if_tun.h>
|
#include <net/if_tun.h>
|
||||||
|
|
||||||
#include "conf.h"
|
#include "../conf.h"
|
||||||
#include "device.h"
|
#include "../device.h"
|
||||||
#include "logger.h"
|
#include "../logger.h"
|
||||||
#include "net.h"
|
#include "../net.h"
|
||||||
#include "utils.h"
|
#include "../utils.h"
|
||||||
#include "xalloc.h"
|
#include "../xalloc.h"
|
||||||
|
|
||||||
#define DEFAULT_DEVICE "/dev/tun"
|
#define DEFAULT_DEVICE "/dev/tun"
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#ifndef __TINC_SYSTEM_H__
|
#ifndef __TINC_SYSTEM_H__
|
||||||
#define __TINC_SYSTEM_H__
|
#define __TINC_SYSTEM_H__
|
||||||
|
|
||||||
#include "config.h"
|
#include "../config.h"
|
||||||
|
|
||||||
#include "have.h"
|
#include "have.h"
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
|
||||||
|
|
||||||
#if HAVE_CONFIG_H
|
#if HAVE_CONFIG_H
|
||||||
# include <config.h>
|
# include "../config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
Loading…
Reference in a new issue