Import Upstream version 1.1~pre9

This commit is contained in:
Guus Sliepen 2019-08-26 13:44:51 +02:00
parent f5c641f5cc
commit 60cff3039b
93 changed files with 2731 additions and 5437 deletions

View file

@ -1,3 +1,51 @@
Version 1.1pre9 September 08 2013
------------------------------------------------------------------------
Guus Sliepen (40):
Stop using EXTRA_DIST in src/Makefile.am.
Remove texi2html rule in docs/Makefile.
Create UNIX socket at the same time as the PID file is created.
Don't force a .bat extension for scripts under Windows.
Fix order of tincd's initialization.
Remove broadcast of KEY_CHANGED message during tinc's initialization.
Bind outgoing sockets again.
Resolve the local host name before generating the invitation file.
Use our own infrastructure for finding out the local node's externally visible host name.
Let a server explicitly send a notification when the invitation protocol succeeded.
Ensure the invitation filenames do not reveal the secret cookie.
Execute scripts when invitations are created or accepted.
Use PATHEXT when checking for the presence of scripts on Windows.
Tell invited node about Mode and Broadcast settings.
Call WSAStartup() in main().
When generating invitations, handle any order of Port and Adress statements.
Add an option to test datagram SPTPS with packet loss.
Fix CTR mode.
Fix the replay window in SPTPS.
Allow testing the replay window with sptps_test.
Start of a test suite.
Some shells set $_ to an absolute path.
Make sptps_test more easy to work with.
Small fixes for tests.
Add test for import, export and exchange commands.
Fix tincd logfile location when running tests.
Clean up leftover tincd and sptps_test processes.
Send a RELOAD to a running tincd when a new invitation key has been generated.
Slightly relax the connection rate limit for a single address.
Also test whether tinc daemons can connect to each other after import/export.
Add a test for invite and join commands.
Exit value 1 instead of a random non-zero value.
Fix multicast device.
Add two more test scripts.
Don't return zero-length packets when receiving multicast loopback packets.
Test running ping through two tinc daemons.
Automake doesn't like info files being mentioned in CLEANFILES.
Make sure test scripts end up in the tarball.
Don't try to mkdir(CONFDIR) if --config is used.
Releasing 1.1pre9.
Etienne Dechamps (1):
Fix broken build with --with-openssl, --with-libgcrypt.
Version 1.1pre8 August 13 2013 Version 1.1pre8 August 13 2013
------------------------------------------------------------------------ ------------------------------------------------------------------------

View file

@ -2,7 +2,7 @@
AUTOMAKE_OPTIONS = gnu AUTOMAKE_OPTIONS = gnu
SUBDIRS = m4 src doc gui SUBDIRS = m4 src doc gui test
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4

View file

@ -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.
@ -298,7 +298,7 @@ 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 src doc gui SUBDIRS = m4 src doc gui test
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = COPYING.README README.android EXTRA_DIST = COPYING.README README.android
all: config.h all: config.h
@ -341,8 +341,8 @@ $(ACLOCAL_M4): $(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
@ -548,10 +548,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)

28
NEWS
View file

@ -1,3 +1,31 @@
Version 1.1pre9 September 8 2013
* The UNIX socket is now created before tinc-up is called.
* Windows users can now use any extension that is in %PATHEXT% for scripts,
not only .bat.
* Outgoing sockets are bound to the address of the listening sockets again,
when there is no ambiguity.
* Added invitation-created and invitation-accepted scripts.
* Invited nodes now learn of the Mode and Broadcast settings of the VPN.
* Joining a VPN with an invitation now also works on Windows.
* The port number tincd is listening on is now always included in the
invitation URL.
* A running tincd is now correctly informed when a new invitation has been
generated.
* Several bug fixes for the new protocol.
* Added a test suite.
Thanks to Etienne Dechamps for his contribution to this version of tinc.
Version 1.1pre8 August 13 2013 Version 1.1pre8 August 13 2013
* ExperimentalProtocol is now enabled by default. * ExperimentalProtocol is now enabled by default.

6
README
View file

@ -1,4 +1,4 @@
This is the README file for tinc version 1.1pre8. Installation This is the README file for tinc version 1.1pre9. 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:
@ -36,11 +36,11 @@ at your own risk.
Compatibility Compatibility
------------- -------------
Version 1.1pre8 is compatible with 1.0pre8, 1.0 and later, but not with older Version 1.1pre9 is compatible with 1.0pre8, 1.0 and later, but not with older
versions of tinc. versions of tinc.
When the ExperimentalProtocol option is used, which is the default since When the ExperimentalProtocol option is used, which is the default since
1.1pre8, tinc is still compatible with 1.0.X and 1.1pre8 itself, but not with 1.1pre8, tinc is still compatible with 1.0.X and 1.1pre9 itself, but not with
any other 1.1preX version. any other 1.1preX version.

154
aclocal.m4 vendored
View file

@ -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.
@ -156,10 +156,10 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
# 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
]) ])
@ -175,7 +175,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]))])
@ -542,6 +542,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])
# ----------------------------------------------- # -----------------------------------------------
@ -650,7 +656,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
@ -658,7 +705,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.
@ -770,38 +816,6 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf rm -f confinc confmf
]) ])
# 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.
AC_DEFUN([AM_PROG_CC_C_O],
[AC_REQUIRE([AC_PROG_CC_C_O])dnl
AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([compile])dnl
# FIXME: we rely on the cache variable name because
# there is no other way.
set dummy $CC
am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
if test "$am_t" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
dnl Make sure AC_PROG_CC is never called again, or it will override our
dnl setting of CC.
m4_define([AC_PROG_CC],
[m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2013 Free Software Foundation, Inc. # Copyright (C) 1997-2013 Free Software Foundation, Inc.
@ -872,6 +886,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.

View file

@ -382,9 +382,6 @@
/* Location of lzo1x.h */ /* Location of lzo1x.h */
#undef LZO1X_H #undef LZO1X_H
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Name of package */ /* Name of package */
#undef PACKAGE #undef PACKAGE

260
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for tinc 1.1pre8. # Generated by GNU Autoconf 2.69 for tinc 1.1pre9.
# #
# #
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='tinc' PACKAGE_NAME='tinc'
PACKAGE_TARNAME='tinc' PACKAGE_TARNAME='tinc'
PACKAGE_VERSION='1.1pre8' PACKAGE_VERSION='1.1pre9'
PACKAGE_STRING='tinc 1.1pre8' PACKAGE_STRING='tinc 1.1pre9'
PACKAGE_BUGREPORT='' PACKAGE_BUGREPORT=''
PACKAGE_URL='' PACKAGE_URL=''
@ -1323,7 +1323,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures tinc 1.1pre8 to adapt to many kinds of systems. \`configure' configures tinc 1.1pre9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1393,7 +1393,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of tinc 1.1pre8:";; short | recursive ) echo "Configuration of tinc 1.1pre9:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1520,7 +1520,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
tinc configure 1.1pre8 tinc configure 1.1pre9
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1985,7 +1985,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by tinc $as_me 1.1pre8, which was It was created by tinc $as_me 1.1pre9, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2334,6 +2334,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
ac_ext=c ac_ext=c
ac_cpp='$CPP $CPPFLAGS' ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@ -3123,6 +3126,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
if ${am_cv_prog_cc_c_o+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
# Make sure it works both with $CC and with simple cc.
# 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 { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } \
&& 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
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
$as_echo "$am_cv_prog_cc_c_o" >&6; }
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_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_ext=c ac_ext=c
ac_cpp='$CPP $CPPFLAGS' ac_cpp='$CPP $CPPFLAGS'
@ -3583,7 +3645,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
am__api_version='1.13' am__api_version='1.14'
ac_aux_dir= ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@ -3784,9 +3846,6 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
if test x"${MISSING+set}" != xset; then if test x"${MISSING+set}" != xset; then
case $am_aux_dir in case $am_aux_dir in
*\ * | *\ *) *\ * | *\ *)
@ -4161,7 +4220,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='tinc' PACKAGE='tinc'
VERSION='1.1pre8' VERSION='1.1pre9'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -4340,6 +4399,47 @@ fi
# 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
as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
fi
fi
ac_config_headers="$ac_config_headers config.h" ac_config_headers="$ac_config_headers config.h"
@ -4770,131 +4870,6 @@ else
fi fi
if test "x$CC" != xcc; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
fi
set dummy $CC; ac_cc=`$as_echo "$2" |
sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
# Make sure it works both with $CC and with simple cc.
# We do the test twice because some compilers refuse to overwrite an
# existing .o file with -o, though they will create one.
ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
rm -f conftest2.*
if { { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } &&
test -f conftest2.$ac_objext && { { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; };
then
eval ac_cv_prog_cc_${ac_cc}_c_o=yes
if test "x$CC" != xcc; then
# Test first that cc exists at all.
if { ac_try='cc -c conftest.$ac_ext >&5'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
rm -f conftest2.*
if { { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } &&
test -f conftest2.$ac_objext && { { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; };
then
# cc works too.
:
else
# cc exists but doesn't like -o.
eval ac_cv_prog_cc_${ac_cc}_c_o=no
fi
fi
fi
else
eval ac_cv_prog_cc_${ac_cc}_c_o=no
fi
rm -f core conftest*
fi
if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
fi
# FIXME: we rely on the cache variable name because
# there is no other way.
set dummy $CC
am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
if test "$am_t" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
@ -7056,7 +7031,7 @@ fi
fi fi
if test "$openssl" = true; then if test -n "$openssl"; then
OPENSSL_TRUE= OPENSSL_TRUE=
OPENSSL_FALSE='#' OPENSSL_FALSE='#'
else else
@ -7064,7 +7039,7 @@ else
OPENSSL_FALSE= OPENSSL_FALSE=
fi fi
if test "$grypt" = true; then if test "$gcrypt" = true; then
GCRYPT_TRUE= GCRYPT_TRUE=
GCRYPT_FALSE='#' GCRYPT_FALSE='#'
else else
@ -7085,7 +7060,7 @@ fi
fi fi
ac_config_files="$ac_config_files Makefile src/Makefile doc/Makefile m4/Makefile gui/Makefile" ac_config_files="$ac_config_files Makefile src/Makefile doc/Makefile m4/Makefile gui/Makefile test/Makefile"
cat >confcache <<\_ACEOF cat >confcache <<\_ACEOF
@ -7658,7 +7633,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by tinc $as_me 1.1pre8, which was This file was extended by tinc $as_me 1.1pre9, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -7724,7 +7699,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
tinc config.status 1.1pre8 tinc config.status 1.1pre9
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"
@ -7860,6 +7835,7 @@ do
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
"gui/Makefile") CONFIG_FILES="$CONFIG_FILES gui/Makefile" ;; "gui/Makefile") CONFIG_FILES="$CONFIG_FILES gui/Makefile" ;;
"test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac esac

View file

@ -1,7 +1,7 @@
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([tinc], [1.1pre8]) AC_INIT([tinc], [1.1pre9])
AC_CONFIG_SRCDIR([src/tincd.c]) AC_CONFIG_SRCDIR([src/tincd.c])
AC_GNU_SOURCE AC_GNU_SOURCE
AM_INIT_AUTOMAKE([check-news std-options subdir-objects -Wall]) AM_INIT_AUTOMAKE([check-news std-options subdir-objects -Wall])
@ -201,8 +201,8 @@ else
tinc_OPENSSL tinc_OPENSSL
fi fi
AM_CONDITIONAL(OPENSSL, test "$openssl" = true) AM_CONDITIONAL(OPENSSL, test -n "$openssl")
AM_CONDITIONAL(GCRYPT, test "$grypt" = true) AM_CONDITIONAL(GCRYPT, test "$gcrypt" = true)
dnl Check if support for jumbograms is requested dnl Check if support for jumbograms is requested
AC_ARG_ENABLE(jumbograms, AC_ARG_ENABLE(jumbograms,
@ -212,6 +212,6 @@ AC_ARG_ENABLE(jumbograms,
] ]
) )
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile m4/Makefile gui/Makefile]) AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile m4/Makefile gui/Makefile test/Makefile])
AC_OUTPUT AC_OUTPUT

View file

@ -6,7 +6,7 @@ man_MANS = tincd.8 tinc.8 tinc.conf.5 tinc-gui.8
EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.8.in tinc.conf.5.in tinc-gui.8.in sample-config.tar.gz EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.8.in tinc.conf.5.in tinc-gui.8.in sample-config.tar.gz
CLEANFILES = *.html tinc.info tincd.8 tinc.8 tinc.conf.5 tinc-gui.8 tincinclude.texi CLEANFILES = *.html tincd.8 tinc.8 tinc.conf.5 tinc-gui.8 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'
@ -19,9 +19,6 @@ transform = s/ginstall/install/; @program_transform_name@
sample-config.tar.gz: sample-config sample-config.tar.gz: sample-config
GZIP=$(GZIP_ENV) $(AMTAR) chozf sample-config.tar.gz --exclude .svn sample-config GZIP=$(GZIP_ENV) $(AMTAR) chozf sample-config.tar.gz --exclude .svn sample-config
texi2html: tinc.texi
texi2html -split=chapter tinc.texi
tincd.8.html: tincd.8 tincd.8.html: tincd.8
w3mman2html $? > $@ w3mman2html $? > $@

View file

@ -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.
@ -131,7 +131,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
@ -293,7 +293,7 @@ top_srcdir = @top_srcdir@
info_TEXINFOS = tinc.texi info_TEXINFOS = tinc.texi
man_MANS = tincd.8 tinc.8 tinc.conf.5 tinc-gui.8 man_MANS = tincd.8 tinc.8 tinc.conf.5 tinc-gui.8
EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.8.in tinc.conf.5.in tinc-gui.8.in sample-config.tar.gz EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.8.in tinc.conf.5.in tinc-gui.8.in sample-config.tar.gz
CLEANFILES = *.html tinc.info tincd.8 tinc.8 tinc.conf.5 tinc-gui.8 tincinclude.texi CLEANFILES = *.html tincd.8 tinc.8 tinc.conf.5 tinc-gui.8 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 \
@ -303,7 +303,7 @@ substitute = sed \
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .dvi .ps .SUFFIXES: .dvi .html .info .pdf .ps .texi
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
@ -335,49 +335,53 @@ $(ACLOCAL_M4): $(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 $@ $<
@ -820,9 +824,6 @@ uninstall-man: uninstall-man5 uninstall-man8
sample-config.tar.gz: sample-config sample-config.tar.gz: sample-config
GZIP=$(GZIP_ENV) $(AMTAR) chozf sample-config.tar.gz --exclude .svn sample-config GZIP=$(GZIP_ENV) $(AMTAR) chozf sample-config.tar.gz --exclude .svn sample-config
texi2html: tinc.texi
texi2html -split=chapter tinc.texi
tincd.8.html: tincd.8 tincd.8.html: tincd.8
w3mman2html $? > $@ w3mman2html $? > $@

View file

@ -580,7 +580,9 @@ UDP is possible or not.
Apart from reading the server and host configuration files, Apart from reading the server and host configuration files,
tinc can also run scripts at certain moments. tinc can also run scripts at certain moments.
Under Windows (not Cygwin), the scripts should have the extension Under Windows (not Cygwin), the scripts should have the extension
.Pa .bat . .Pa .bat
or
.Pa cmd .
.Bl -tag -width indent .Bl -tag -width indent
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /tinc-up .It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /tinc-up
This is the most important script. This is the most important script.
@ -607,6 +609,10 @@ This script is started when a Subnet becomes reachable.
The Subnet and the node it belongs to are passed in environment variables. The Subnet and the node it belongs to are passed in environment variables.
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /subnet-down .It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /subnet-down
This script is started when a Subnet becomes unreachable. This script is started when a Subnet becomes unreachable.
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /invitation-created
This script is started when a new invitation has been created.
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /invitation-accepted
This script is started when an invitation has been used.
.El .El
.Pp .Pp
The scripts are started without command line arguments, but can make use of certain environment variables. The scripts are started without command line arguments, but can make use of certain environment variables.
@ -615,6 +621,8 @@ Under UNIX like operating systems the names of environment variables must be pre
in scripts. in scripts.
Under Windows, in Under Windows, in
.Pa .bat .Pa .bat
or
.Pa .cmd
files, they have to be put between files, they have to be put between
.Li % .Li %
signs. signs.
@ -640,6 +648,14 @@ When a host becomes (un)reachable, this is set to the port number it uses for co
When a subnet becomes (un)reachable, this is set to the subnet. When a subnet becomes (un)reachable, this is set to the subnet.
.It Ev WEIGHT .It Ev WEIGHT
When a subnet becomes (un)reachable, this is set to the subnet weight. When a subnet becomes (un)reachable, this is set to the subnet weight.
.It Ev INVITATION_FILE
When the
.Pa invitation-created
script is called, this is set to the file where the invitation details will be stored.
.It Ev INVITATION_URL
When the
.Pa invitation-created
script is called, this is set to the invitation URL that has been created.
.El .El
.Pp .Pp
Do not forget that under UNIX operating systems, you have to make the scripts executable, using the command Do not forget that under UNIX operating systems, you have to make the scripts executable, using the command

View file

@ -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.1pre7, a Virtual Private This is the info manual for tinc version 1.1pre9, a Virtual Private
Network daemon. Network daemon.
Copyright (C) 1998-2013 Ivo Timmermans, Guus Sliepen Copyright (C) 1998-2013 Ivo Timmermans, Guus Sliepen
@ -1242,7 +1242,7 @@ File: tinc.info, Node: Scripts, Next: How to configure, Prev: Host configurat
Apart from reading the server and host configuration files, tinc can Apart from reading the server and host configuration files, tinc can
also run scripts at certain moments. Under Windows (not Cygwin), the also run scripts at certain moments. Under Windows (not Cygwin), the
scripts should have the extension .bat. scripts should have the extension '.bat' or '.cmd'.
'/etc/tinc/NETNAME/tinc-up' '/etc/tinc/NETNAME/tinc-up'
This is the most important script. If it is present it will be This is the most important script. If it is present it will be
@ -1276,10 +1276,17 @@ scripts should have the extension .bat.
'/etc/tinc/NETNAME/subnet-down' '/etc/tinc/NETNAME/subnet-down'
This script is started when a Subnet becomes unreachable. This script is started when a Subnet becomes unreachable.
'/etc/tinc/NETNAME/invitation-created'
This script is started when a new invitation has been created.
'/etc/tinc/NETNAME/invitation-accepted'
This script is started when an invitation has been used.
The scripts are started without command line arguments, but can make use The scripts are started without command line arguments, but can make use
of certain environment variables. Under UNIX like operating systems the of certain environment variables. Under UNIX like operating systems the
names of environment variables must be preceded by a $ in scripts. names of environment variables must be preceded by a $ in scripts.
Under Windows, in '.bat' files, they have to be put between % signs. Under Windows, in '.bat' or '.cmd' files, they have to be put between %
signs.
'NETNAME' 'NETNAME'
If a netname was specified, this environment variable contains it. If a netname was specified, this environment variable contains it.
@ -1309,6 +1316,21 @@ Under Windows, in '.bat' files, they have to be put between % signs.
'SUBNET' 'SUBNET'
When a subnet becomes (un)reachable, this is set to the subnet. When a subnet becomes (un)reachable, this is set to the subnet.
'WEIGHT'
When a subnet becomes (un)reachable, this is set to the subnet
weight.
'INVITATION_FILE'
When the 'invitation-created' script is called, this is set to the
file where the invitation details will be stored.
'INVITATION_URL'
When the 'invitation-created' script is called, this is set to the
invitation URL that has been created.
Do not forget that under UNIX operating systems, you have to make the
scripts executable, using the command 'chmod a+x script'.
 
File: tinc.info, Node: How to configure, Prev: Scripts, Up: Configuration files File: tinc.info, Node: How to configure, Prev: Scripts, Up: Configuration files
@ -3043,7 +3065,7 @@ Concept Index
* DEL_SUBNET: The meta-protocol. (line 46) * DEL_SUBNET: The meta-protocol. (line 46)
* Device: Main configuration variables. * Device: Main configuration variables.
(line 80) (line 80)
* DEVICE: Scripts. (line 53) * DEVICE: Scripts. (line 60)
* device files: Device files. (line 6) * device files: Device files. (line 6)
* DeviceType: Main configuration variables. * DeviceType: Main configuration variables.
(line 87) (line 87)
@ -3058,7 +3080,7 @@ Concept Index
* encapsulating: The UDP tunnel. (line 30) * encapsulating: The UDP tunnel. (line 30)
* encryption: Encryption of network packets. * encryption: Encryption of network packets.
(line 6) (line 6)
* environment variables: Scripts. (line 42) * environment variables: Scripts. (line 48)
* example: Example configuration. * example: Example configuration.
(line 6) (line 6)
* exec: Main configuration variables. * exec: Main configuration variables.
@ -3080,7 +3102,9 @@ Concept Index
(line 38) (line 38)
* Interface: Main configuration variables. * Interface: Main configuration variables.
(line 201) (line 201)
* INTERFACE: Scripts. (line 56) * INTERFACE: Scripts. (line 63)
* INVITATION_FILE: Scripts. (line 86)
* INVITATION_URL: Scripts. (line 90)
* IRC: Contact information. (line 9) * IRC: Contact information. (line 9)
* KeyExpire: Main configuration variables. * KeyExpire: Main configuration variables.
(line 251) (line 251)
@ -3112,15 +3136,15 @@ Concept Index
* multiple networks: Multiple networks. (line 6) * multiple networks: Multiple networks. (line 6)
* Name: Main configuration variables. * Name: Main configuration variables.
(line 268) (line 268)
* NAME: Scripts. (line 50) * NAME: Scripts. (line 57)
* netmask: Network interfaces. (line 39) * netmask: Network interfaces. (line 39)
* netname: Multiple networks. (line 6) * netname: Multiple networks. (line 6)
* NETNAME: Scripts. (line 47) * NETNAME: Scripts. (line 54)
* NETNAME <1>: tinc environment variables. * NETNAME <1>: tinc environment variables.
(line 6) (line 6)
* Network Administrators Guide: Configuration introduction. * Network Administrators Guide: Configuration introduction.
(line 15) (line 15)
* NODE: Scripts. (line 60) * NODE: Scripts. (line 67)
* OpenSSL: OpenSSL. (line 6) * OpenSSL: OpenSSL. (line 6)
* options: Runtime options. (line 9) * options: Runtime options. (line 9)
* PEM format: Host configuration variables. * PEM format: Host configuration variables.
@ -3158,8 +3182,8 @@ Concept Index
* raw_socket: Main configuration variables. * raw_socket: Main configuration variables.
(line 99) (line 99)
* release: Supported platforms. (line 14) * release: Supported platforms. (line 14)
* REMOTEADDRESS: Scripts. (line 65) * REMOTEADDRESS: Scripts. (line 72)
* REMOTEPORT: Scripts. (line 68) * REMOTEPORT: Scripts. (line 75)
* ReplayWindow: Main configuration variables. * ReplayWindow: Main configuration variables.
(line 333) (line 333)
* requirements: Libraries. (line 6) * requirements: Libraries. (line 6)
@ -3182,7 +3206,7 @@ Concept Index
(line 344) (line 344)
* Subnet: Host configuration variables. * Subnet: Host configuration variables.
(line 77) (line 77)
* SUBNET: Scripts. (line 72) * SUBNET: Scripts. (line 79)
* SVPN: Security. (line 11) * SVPN: Security. (line 11)
* switch: Main configuration variables. * switch: Main configuration variables.
(line 235) (line 235)
@ -3222,6 +3246,7 @@ Concept Index
(line 6) (line 6)
* vpnd: tinc. (line 6) * vpnd: tinc. (line 6)
* website: Contact information. (line 6) * website: Contact information. (line 6)
* WEIGHT: Scripts. (line 82)
* zlib: zlib. (line 6) * zlib: zlib. (line 6)
@ -3263,38 +3288,38 @@ Node: Configuration files27607
Node: Main configuration variables29135 Node: Main configuration variables29135
Node: Host configuration variables45893 Node: Host configuration variables45893
Node: Scripts51364 Node: Scripts51364
Node: How to configure54033 Node: How to configure54765
Node: Network interfaces58509 Node: Network interfaces59241
Node: Example configuration60888 Node: Example configuration61620
Node: Running tinc65981 Node: Running tinc66713
Node: Runtime options66568 Node: Runtime options67300
Node: Signals69428 Node: Signals70160
Node: Debug levels70277 Node: Debug levels71009
Node: Solving problems71213 Node: Solving problems71945
Node: Error messages72639 Node: Error messages73371
Node: Sending bug reports76956 Node: Sending bug reports77688
Node: Controlling tinc77903 Node: Controlling tinc78635
Node: tinc runtime options78280 Node: tinc runtime options79012
Node: tinc environment variables78967 Node: tinc environment variables79699
Node: tinc commands79296 Node: tinc commands80028
Node: tinc examples84406 Node: tinc examples85138
Node: tinc top84969 Node: tinc top85701
Node: Technical information86554 Node: Technical information87286
Node: The connection86789 Node: The connection87521
Node: The UDP tunnel87101 Node: The UDP tunnel87833
Node: The meta-connection90146 Node: The meta-connection90878
Node: The meta-protocol91604 Node: The meta-protocol92336
Node: Security96587 Node: Security97319
Node: Legacy authentication protocol97924 Node: Legacy authentication protocol98656
Node: Simple Peer-to-Peer Security102541 Node: Simple Peer-to-Peer Security103273
Node: Encryption of network packets108201 Node: Encryption of network packets108933
Node: Security issues110830 Node: Security issues111562
Node: Platform specific information112565 Node: Platform specific information113297
Node: Interface configuration112793 Node: Interface configuration113525
Node: Routes115234 Node: Routes115966
Node: About us117145 Node: About us117877
Node: Contact information117320 Node: Contact information118052
Node: Authors117722 Node: Authors118454
Node: Concept Index118124 Node: Concept Index118856
 
End Tag Table End Tag Table

View file

@ -1346,7 +1346,7 @@ Setting this options also implicitly sets IndirectData.
@cindex scripts @cindex scripts
Apart from reading the server and host configuration files, Apart from reading the server and host configuration files,
tinc can also run scripts at certain moments. tinc can also run scripts at certain moments.
Under Windows (not Cygwin), the scripts should have the extension .bat. Under Windows (not Cygwin), the scripts should have the extension @file{.bat} or @file{.cmd}.
@table @file @table @file
@cindex tinc-up @cindex tinc-up
@ -1380,13 +1380,20 @@ The Subnet and the node it belongs to are passed in environment variables.
@item @value{sysconfdir}/tinc/@var{netname}/subnet-down @item @value{sysconfdir}/tinc/@var{netname}/subnet-down
This script is started when a Subnet becomes unreachable. This script is started when a Subnet becomes unreachable.
@item @value{sysconfdir}/tinc/@var{netname}/invitation-created
This script is started when a new invitation has been created.
@item @value{sysconfdir}/tinc/@var{netname}/invitation-accepted
This script is started when an invitation has been used.
@end table @end table
@cindex environment variables @cindex environment variables
The scripts are started without command line arguments, The scripts are started without command line arguments,
but can make use of certain environment variables. but can make use of certain environment variables.
Under UNIX like operating systems the names of environment variables must be preceded by a $ in scripts. Under UNIX like operating systems the names of environment variables must be preceded by a $ in scripts.
Under Windows, in @file{.bat} files, they have to be put between % signs. Under Windows, in @file{.bat} or @file{.cmd} files, they have to be put between % signs.
@table @env @table @env
@cindex NETNAME @cindex NETNAME
@ -1424,8 +1431,24 @@ this is set to the port number it uses for communication with other tinc daemons
@item SUBNET @item SUBNET
When a subnet becomes (un)reachable, this is set to the subnet. When a subnet becomes (un)reachable, this is set to the subnet.
@cindex WEIGHT
@item WEIGHT
When a subnet becomes (un)reachable, this is set to the subnet weight.
@cindex INVITATION_FILE
@item INVITATION_FILE
When the @file{invitation-created} script is called,
this is set to the file where the invitation details will be stored.
@cindex INVITATION_URL
@item INVITATION_URL
When the @file{invitation-created} script is called,
this is set to the invitation URL that has been created.
@end table @end table
Do not forget that under UNIX operating systems,
you have to make the scripts executable, using the command @samp{chmod a+x script}.
@c ================================================================== @c ==================================================================
@node How to configure @node How to configure

View file

@ -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.

View file

@ -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.

View file

@ -2,8 +2,6 @@
sbin_PROGRAMS = tincd tinc sptps_test sbin_PROGRAMS = tincd tinc sptps_test
EXTRA_DIST = linux bsd solaris cygwin mingw openssl gcrypt
DEFAULT_INCLUDES = DEFAULT_INCLUDES =
tincd_SOURCES = \ tincd_SOURCES = \
@ -57,6 +55,7 @@ tincd_SOURCES = \
route.c route.h \ route.c route.h \
rsa.h \ rsa.h \
rsagen.h \ rsagen.h \
script.c script.h \
splay_tree.c splay_tree.h \ splay_tree.c splay_tree.h \
sptps.c sptps.h \ sptps.c sptps.h \
subnet.c subnet.h \ subnet.c subnet.h \
@ -75,6 +74,7 @@ tinc_SOURCES = \
list.c list.h \ list.c list.h \
names.c names.h \ names.c names.h \
netutl.c netutl.h \ netutl.c netutl.h \
script.c script.h \
sptps.c sptps.h \ sptps.c sptps.h \
subnet_parse.c subnet.h \ subnet_parse.c subnet.h \
tincctl.c tincctl.h \ tincctl.c tincctl.h \
@ -96,7 +96,7 @@ endif
if BSD if BSD
tincd_SOURCES += bsd/device.c tincd_SOURCES += bsd/device.c
if TUNEMU if TUNEMU
tincd_SOURCES += bsd/tunemu.c tincd_SOURCES += bsd/tunemu.c bsd/tunemu.h
endif endif
endif endif
@ -105,7 +105,7 @@ tincd_SOURCES += solaris/device.c
endif endif
if MINGW if MINGW
tincd_SOURCES += mingw/device.c tincd_SOURCES += mingw/device.c mingw/common.h
endif endif
if CYGWIN if CYGWIN
@ -124,7 +124,7 @@ if OPENSSL
tincd_SOURCES += \ tincd_SOURCES += \
openssl/cipher.c \ openssl/cipher.c \
openssl/crypto.c \ openssl/crypto.c \
openssl/digest.c \ openssl/digest.c openssl/digest.h \
openssl/ecdh.c \ openssl/ecdh.c \
openssl/ecdsa.c \ openssl/ecdsa.c \
openssl/prf.c \ openssl/prf.c \
@ -132,7 +132,7 @@ tincd_SOURCES += \
tinc_SOURCES += \ tinc_SOURCES += \
openssl/cipher.c \ openssl/cipher.c \
openssl/crypto.c \ openssl/crypto.c \
openssl/digest.c \ openssl/digest.c openssl/digest.h \
openssl/ecdh.c \ openssl/ecdh.c \
openssl/ecdsa.c \ openssl/ecdsa.c \
openssl/ecdsagen.c \ openssl/ecdsagen.c \
@ -142,7 +142,7 @@ tinc_SOURCES += \
sptps_test_SOURCES += \ sptps_test_SOURCES += \
openssl/cipher.c \ openssl/cipher.c \
openssl/crypto.c \ openssl/crypto.c \
openssl/digest.c \ openssl/digest.c openssl/digest.h \
openssl/ecdh.c \ openssl/ecdh.c \
openssl/ecdsa.c \ openssl/ecdsa.c \
openssl/prf.c openssl/prf.c
@ -152,7 +152,7 @@ if GCRYPT
tincd_SOURCES += \ tincd_SOURCES += \
gcrypt/cipher.c \ gcrypt/cipher.c \
gcrypt/crypto.c \ gcrypt/crypto.c \
gcrypt/digest.c \ gcrypt/digest.c gcrypt/digest.h \
gcrypt/ecdh.c \ gcrypt/ecdh.c \
gcrypt/ecdsa.c \ gcrypt/ecdsa.c \
gcrypt/prf.c \ gcrypt/prf.c \
@ -160,7 +160,7 @@ tincd_SOURCES += \
tinc_SOURCES += \ tinc_SOURCES += \
gcrypt/cipher.c \ gcrypt/cipher.c \
gcrypt/crypto.c \ gcrypt/crypto.c \
gcrypt/digest.c \ gcrypt/digest.c gcrypt/digest.h \
gcrypt/ecdh.c \ gcrypt/ecdh.c \
gcrypt/ecdsa.c \ gcrypt/ecdsa.c \
gcrypt/ecdsagen.c \ gcrypt/ecdsagen.c \
@ -170,7 +170,7 @@ tinc_SOURCES += \
sptps_test_SOURCES += \ sptps_test_SOURCES += \
gcrypt/cipher.c \ gcrypt/cipher.c \
gcrypt/crypto.c \ gcrypt/crypto.c \
gcrypt/digest.c \ gcrypt/digest.c gcrypt/digest.h \
gcrypt/ecdh.c \ gcrypt/ecdh.c \
gcrypt/ecdsa.c \ gcrypt/ecdsa.c \
gcrypt/prf.c gcrypt/prf.c
@ -185,6 +185,3 @@ LIBS += -lpcap
endif endif
AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\" AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\"
dist-hook:
rm -f `find . -type l`

View file

@ -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,16 +81,16 @@ host_triplet = @host@
sbin_PROGRAMS = tincd$(EXEEXT) tinc$(EXEEXT) sptps_test$(EXEEXT) sbin_PROGRAMS = tincd$(EXEEXT) tinc$(EXEEXT) sptps_test$(EXEEXT)
@LINUX_TRUE@am__append_1 = linux/device.c @LINUX_TRUE@am__append_1 = linux/device.c
@BSD_TRUE@am__append_2 = bsd/device.c @BSD_TRUE@am__append_2 = bsd/device.c
@BSD_TRUE@@TUNEMU_TRUE@am__append_3 = bsd/tunemu.c @BSD_TRUE@@TUNEMU_TRUE@am__append_3 = bsd/tunemu.c bsd/tunemu.h
@SOLARIS_TRUE@am__append_4 = solaris/device.c @SOLARIS_TRUE@am__append_4 = solaris/device.c
@MINGW_TRUE@am__append_5 = mingw/device.c @MINGW_TRUE@am__append_5 = mingw/device.c mingw/common.h
@CYGWIN_TRUE@am__append_6 = cygwin/device.c @CYGWIN_TRUE@am__append_6 = cygwin/device.c
@UML_TRUE@am__append_7 = uml_device.c @UML_TRUE@am__append_7 = uml_device.c
@VDE_TRUE@am__append_8 = vde_device.c @VDE_TRUE@am__append_8 = vde_device.c
@OPENSSL_TRUE@am__append_9 = \ @OPENSSL_TRUE@am__append_9 = \
@OPENSSL_TRUE@ openssl/cipher.c \ @OPENSSL_TRUE@ openssl/cipher.c \
@OPENSSL_TRUE@ openssl/crypto.c \ @OPENSSL_TRUE@ openssl/crypto.c \
@OPENSSL_TRUE@ openssl/digest.c \ @OPENSSL_TRUE@ openssl/digest.c openssl/digest.h \
@OPENSSL_TRUE@ openssl/ecdh.c \ @OPENSSL_TRUE@ openssl/ecdh.c \
@OPENSSL_TRUE@ openssl/ecdsa.c \ @OPENSSL_TRUE@ openssl/ecdsa.c \
@OPENSSL_TRUE@ openssl/prf.c \ @OPENSSL_TRUE@ openssl/prf.c \
@ -99,7 +99,7 @@ sbin_PROGRAMS = tincd$(EXEEXT) tinc$(EXEEXT) sptps_test$(EXEEXT)
@OPENSSL_TRUE@am__append_10 = \ @OPENSSL_TRUE@am__append_10 = \
@OPENSSL_TRUE@ openssl/cipher.c \ @OPENSSL_TRUE@ openssl/cipher.c \
@OPENSSL_TRUE@ openssl/crypto.c \ @OPENSSL_TRUE@ openssl/crypto.c \
@OPENSSL_TRUE@ openssl/digest.c \ @OPENSSL_TRUE@ openssl/digest.c openssl/digest.h \
@OPENSSL_TRUE@ openssl/ecdh.c \ @OPENSSL_TRUE@ openssl/ecdh.c \
@OPENSSL_TRUE@ openssl/ecdsa.c \ @OPENSSL_TRUE@ openssl/ecdsa.c \
@OPENSSL_TRUE@ openssl/ecdsagen.c \ @OPENSSL_TRUE@ openssl/ecdsagen.c \
@ -110,7 +110,7 @@ sbin_PROGRAMS = tincd$(EXEEXT) tinc$(EXEEXT) sptps_test$(EXEEXT)
@OPENSSL_TRUE@am__append_11 = \ @OPENSSL_TRUE@am__append_11 = \
@OPENSSL_TRUE@ openssl/cipher.c \ @OPENSSL_TRUE@ openssl/cipher.c \
@OPENSSL_TRUE@ openssl/crypto.c \ @OPENSSL_TRUE@ openssl/crypto.c \
@OPENSSL_TRUE@ openssl/digest.c \ @OPENSSL_TRUE@ openssl/digest.c openssl/digest.h \
@OPENSSL_TRUE@ openssl/ecdh.c \ @OPENSSL_TRUE@ openssl/ecdh.c \
@OPENSSL_TRUE@ openssl/ecdsa.c \ @OPENSSL_TRUE@ openssl/ecdsa.c \
@OPENSSL_TRUE@ openssl/prf.c @OPENSSL_TRUE@ openssl/prf.c
@ -118,7 +118,7 @@ sbin_PROGRAMS = tincd$(EXEEXT) tinc$(EXEEXT) sptps_test$(EXEEXT)
@GCRYPT_TRUE@am__append_12 = \ @GCRYPT_TRUE@am__append_12 = \
@GCRYPT_TRUE@ gcrypt/cipher.c \ @GCRYPT_TRUE@ gcrypt/cipher.c \
@GCRYPT_TRUE@ gcrypt/crypto.c \ @GCRYPT_TRUE@ gcrypt/crypto.c \
@GCRYPT_TRUE@ gcrypt/digest.c \ @GCRYPT_TRUE@ gcrypt/digest.c gcrypt/digest.h \
@GCRYPT_TRUE@ gcrypt/ecdh.c \ @GCRYPT_TRUE@ gcrypt/ecdh.c \
@GCRYPT_TRUE@ gcrypt/ecdsa.c \ @GCRYPT_TRUE@ gcrypt/ecdsa.c \
@GCRYPT_TRUE@ gcrypt/prf.c \ @GCRYPT_TRUE@ gcrypt/prf.c \
@ -127,7 +127,7 @@ sbin_PROGRAMS = tincd$(EXEEXT) tinc$(EXEEXT) sptps_test$(EXEEXT)
@GCRYPT_TRUE@am__append_13 = \ @GCRYPT_TRUE@am__append_13 = \
@GCRYPT_TRUE@ gcrypt/cipher.c \ @GCRYPT_TRUE@ gcrypt/cipher.c \
@GCRYPT_TRUE@ gcrypt/crypto.c \ @GCRYPT_TRUE@ gcrypt/crypto.c \
@GCRYPT_TRUE@ gcrypt/digest.c \ @GCRYPT_TRUE@ gcrypt/digest.c gcrypt/digest.h \
@GCRYPT_TRUE@ gcrypt/ecdh.c \ @GCRYPT_TRUE@ gcrypt/ecdh.c \
@GCRYPT_TRUE@ gcrypt/ecdsa.c \ @GCRYPT_TRUE@ gcrypt/ecdsa.c \
@GCRYPT_TRUE@ gcrypt/ecdsagen.c \ @GCRYPT_TRUE@ gcrypt/ecdsagen.c \
@ -138,7 +138,7 @@ sbin_PROGRAMS = tincd$(EXEEXT) tinc$(EXEEXT) sptps_test$(EXEEXT)
@GCRYPT_TRUE@am__append_14 = \ @GCRYPT_TRUE@am__append_14 = \
@GCRYPT_TRUE@ gcrypt/cipher.c \ @GCRYPT_TRUE@ gcrypt/cipher.c \
@GCRYPT_TRUE@ gcrypt/crypto.c \ @GCRYPT_TRUE@ gcrypt/crypto.c \
@GCRYPT_TRUE@ gcrypt/digest.c \ @GCRYPT_TRUE@ gcrypt/digest.c gcrypt/digest.h \
@GCRYPT_TRUE@ gcrypt/ecdh.c \ @GCRYPT_TRUE@ gcrypt/ecdh.c \
@GCRYPT_TRUE@ gcrypt/ecdsa.c \ @GCRYPT_TRUE@ gcrypt/ecdsa.c \
@GCRYPT_TRUE@ gcrypt/prf.c @GCRYPT_TRUE@ gcrypt/prf.c
@ -162,9 +162,10 @@ am__installdirs = "$(DESTDIR)$(sbindir)"
PROGRAMS = $(sbin_PROGRAMS) PROGRAMS = $(sbin_PROGRAMS)
am__sptps_test_SOURCES_DIST = logger.c logger.h sptps.c sptps.h \ am__sptps_test_SOURCES_DIST = logger.c logger.h sptps.c sptps.h \
sptps_test.c utils.c utils.h openssl/cipher.c openssl/crypto.c \ sptps_test.c utils.c utils.h openssl/cipher.c openssl/crypto.c \
openssl/digest.c openssl/ecdh.c openssl/ecdsa.c openssl/prf.c \ openssl/digest.c openssl/digest.h openssl/ecdh.c \
gcrypt/cipher.c gcrypt/crypto.c gcrypt/digest.c gcrypt/ecdh.c \ openssl/ecdsa.c openssl/prf.c gcrypt/cipher.c gcrypt/crypto.c \
gcrypt/ecdsa.c gcrypt/prf.c gcrypt/digest.c gcrypt/digest.h gcrypt/ecdh.c gcrypt/ecdsa.c \
gcrypt/prf.c
am__dirstamp = $(am__leading_dot)dirstamp am__dirstamp = $(am__leading_dot)dirstamp
@OPENSSL_TRUE@am__objects_1 = openssl/cipher.$(OBJEXT) \ @OPENSSL_TRUE@am__objects_1 = openssl/cipher.$(OBJEXT) \
@OPENSSL_TRUE@ openssl/crypto.$(OBJEXT) \ @OPENSSL_TRUE@ openssl/crypto.$(OBJEXT) \
@ -181,12 +182,13 @@ sptps_test_OBJECTS = $(am_sptps_test_OBJECTS)
sptps_test_LDADD = $(LDADD) sptps_test_LDADD = $(LDADD)
am__tinc_SOURCES_DIST = dropin.c dropin.h getopt.c getopt.h getopt1.c \ am__tinc_SOURCES_DIST = dropin.c dropin.h getopt.c getopt.h getopt1.c \
info.c info.h invitation.c invitation.h list.c list.h names.c \ info.c info.h invitation.c invitation.h list.c list.h names.c \
names.h netutl.c netutl.h sptps.c sptps.h subnet_parse.c \ names.h netutl.c netutl.h script.c script.h sptps.c sptps.h \
subnet.h tincctl.c tincctl.h top.c top.h utils.c utils.h \ subnet_parse.c subnet.h tincctl.c tincctl.h top.c top.h \
openssl/cipher.c openssl/crypto.c openssl/digest.c \ utils.c utils.h openssl/cipher.c openssl/crypto.c \
openssl/ecdh.c openssl/ecdsa.c openssl/ecdsagen.c \ openssl/digest.c openssl/digest.h openssl/ecdh.c \
openssl/prf.c openssl/rsa.c openssl/rsagen.c gcrypt/cipher.c \ openssl/ecdsa.c openssl/ecdsagen.c openssl/prf.c openssl/rsa.c \
gcrypt/crypto.c gcrypt/digest.c gcrypt/ecdh.c gcrypt/ecdsa.c \ openssl/rsagen.c gcrypt/cipher.c gcrypt/crypto.c \
gcrypt/digest.c gcrypt/digest.h gcrypt/ecdh.c gcrypt/ecdsa.c \
gcrypt/ecdsagen.c gcrypt/prf.c gcrypt/rsa.c gcrypt/rsagen.c gcrypt/ecdsagen.c gcrypt/prf.c gcrypt/rsa.c gcrypt/rsagen.c
@OPENSSL_TRUE@am__objects_3 = openssl/cipher.$(OBJEXT) \ @OPENSSL_TRUE@am__objects_3 = openssl/cipher.$(OBJEXT) \
@OPENSSL_TRUE@ openssl/crypto.$(OBJEXT) \ @OPENSSL_TRUE@ openssl/crypto.$(OBJEXT) \
@ -201,9 +203,10 @@ am__tinc_SOURCES_DIST = dropin.c dropin.h getopt.c getopt.h getopt1.c \
@GCRYPT_TRUE@ gcrypt/rsa.$(OBJEXT) gcrypt/rsagen.$(OBJEXT) @GCRYPT_TRUE@ gcrypt/rsa.$(OBJEXT) gcrypt/rsagen.$(OBJEXT)
am_tinc_OBJECTS = dropin.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \ am_tinc_OBJECTS = dropin.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \
info.$(OBJEXT) invitation.$(OBJEXT) list.$(OBJEXT) \ info.$(OBJEXT) invitation.$(OBJEXT) list.$(OBJEXT) \
names.$(OBJEXT) netutl.$(OBJEXT) sptps.$(OBJEXT) \ names.$(OBJEXT) netutl.$(OBJEXT) script.$(OBJEXT) \
subnet_parse.$(OBJEXT) tincctl.$(OBJEXT) top.$(OBJEXT) \ sptps.$(OBJEXT) subnet_parse.$(OBJEXT) tincctl.$(OBJEXT) \
utils.$(OBJEXT) $(am__objects_3) $(am__objects_4) top.$(OBJEXT) utils.$(OBJEXT) $(am__objects_3) \
$(am__objects_4)
tinc_OBJECTS = $(am_tinc_OBJECTS) tinc_OBJECTS = $(am_tinc_OBJECTS)
am__DEPENDENCIES_1 = am__DEPENDENCIES_1 =
tinc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) tinc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
@ -220,14 +223,16 @@ am__tincd_SOURCES_DIST = buffer.c buffer.h cipher.h conf.c conf.h \
node.h prf.h process.c process.h protocol.c protocol.h \ node.h prf.h process.c process.h protocol.c protocol.h \
protocol_auth.c protocol_edge.c protocol_key.c protocol_misc.c \ protocol_auth.c protocol_edge.c protocol_key.c protocol_misc.c \
protocol_subnet.c raw_socket_device.c route.c route.h rsa.h \ protocol_subnet.c raw_socket_device.c route.c route.h rsa.h \
rsagen.h splay_tree.c splay_tree.h sptps.c sptps.h subnet.c \ rsagen.h script.c script.h splay_tree.c splay_tree.h sptps.c \
subnet.h subnet_parse.c system.h tincd.c utils.c utils.h \ sptps.h subnet.c subnet.h subnet_parse.c system.h tincd.c \
xalloc.h linux/device.c bsd/device.c bsd/tunemu.c \ utils.c utils.h xalloc.h linux/device.c bsd/device.c \
solaris/device.c mingw/device.c cygwin/device.c uml_device.c \ bsd/tunemu.c bsd/tunemu.h solaris/device.c mingw/device.c \
vde_device.c openssl/cipher.c openssl/crypto.c \ mingw/common.h cygwin/device.c uml_device.c vde_device.c \
openssl/digest.c openssl/ecdh.c openssl/ecdsa.c openssl/prf.c \ openssl/cipher.c openssl/crypto.c openssl/digest.c \
openssl/digest.h openssl/ecdh.c openssl/ecdsa.c openssl/prf.c \
openssl/rsa.c gcrypt/cipher.c gcrypt/crypto.c gcrypt/digest.c \ openssl/rsa.c gcrypt/cipher.c gcrypt/crypto.c gcrypt/digest.c \
gcrypt/ecdh.c gcrypt/ecdsa.c gcrypt/prf.c gcrypt/rsa.c gcrypt/digest.h gcrypt/ecdh.c gcrypt/ecdsa.c gcrypt/prf.c \
gcrypt/rsa.c
@LINUX_TRUE@am__objects_5 = linux/device.$(OBJEXT) @LINUX_TRUE@am__objects_5 = linux/device.$(OBJEXT)
@BSD_TRUE@am__objects_6 = bsd/device.$(OBJEXT) @BSD_TRUE@am__objects_6 = bsd/device.$(OBJEXT)
@BSD_TRUE@@TUNEMU_TRUE@am__objects_7 = bsd/tunemu.$(OBJEXT) @BSD_TRUE@@TUNEMU_TRUE@am__objects_7 = bsd/tunemu.$(OBJEXT)
@ -257,7 +262,7 @@ am_tincd_OBJECTS = buffer.$(OBJEXT) conf.$(OBJEXT) \
protocol.$(OBJEXT) protocol_auth.$(OBJEXT) \ protocol.$(OBJEXT) protocol_auth.$(OBJEXT) \
protocol_edge.$(OBJEXT) protocol_key.$(OBJEXT) \ protocol_edge.$(OBJEXT) protocol_key.$(OBJEXT) \
protocol_misc.$(OBJEXT) protocol_subnet.$(OBJEXT) \ protocol_misc.$(OBJEXT) protocol_subnet.$(OBJEXT) \
raw_socket_device.$(OBJEXT) route.$(OBJEXT) \ raw_socket_device.$(OBJEXT) route.$(OBJEXT) script.$(OBJEXT) \
splay_tree.$(OBJEXT) sptps.$(OBJEXT) subnet.$(OBJEXT) \ splay_tree.$(OBJEXT) sptps.$(OBJEXT) subnet.$(OBJEXT) \
subnet_parse.$(OBJEXT) tincd.$(OBJEXT) utils.$(OBJEXT) \ subnet_parse.$(OBJEXT) tincd.$(OBJEXT) utils.$(OBJEXT) \
$(am__objects_5) $(am__objects_6) $(am__objects_7) \ $(am__objects_5) $(am__objects_6) $(am__objects_7) \
@ -423,7 +428,6 @@ 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 bsd solaris cygwin mingw openssl gcrypt
DEFAULT_INCLUDES = DEFAULT_INCLUDES =
tincd_SOURCES = buffer.c buffer.h cipher.h conf.c conf.h connection.c \ tincd_SOURCES = buffer.c buffer.h cipher.h conf.c conf.h connection.c \
connection.h control.c control.h control_common.h crypto.h \ connection.h control.c control.h control_common.h crypto.h \
@ -438,17 +442,17 @@ tincd_SOURCES = buffer.c buffer.h cipher.h conf.c conf.h connection.c \
process.c process.h protocol.c protocol.h protocol_auth.c \ process.c process.h protocol.c protocol.h protocol_auth.c \
protocol_edge.c protocol_key.c protocol_misc.c \ protocol_edge.c protocol_key.c protocol_misc.c \
protocol_subnet.c raw_socket_device.c route.c route.h rsa.h \ protocol_subnet.c raw_socket_device.c route.c route.h rsa.h \
rsagen.h splay_tree.c splay_tree.h sptps.c sptps.h subnet.c \ rsagen.h script.c script.h splay_tree.c splay_tree.h sptps.c \
subnet.h subnet_parse.c system.h tincd.c utils.c utils.h \ sptps.h subnet.c subnet.h subnet_parse.c system.h tincd.c \
xalloc.h $(am__append_1) $(am__append_2) $(am__append_3) \ utils.c utils.h xalloc.h $(am__append_1) $(am__append_2) \
$(am__append_4) $(am__append_5) $(am__append_6) \ $(am__append_3) $(am__append_4) $(am__append_5) \
$(am__append_7) $(am__append_8) $(am__append_9) \ $(am__append_6) $(am__append_7) $(am__append_8) \
$(am__append_12) $(am__append_9) $(am__append_12)
tinc_SOURCES = dropin.c dropin.h getopt.c getopt.h getopt1.c info.c \ tinc_SOURCES = dropin.c dropin.h getopt.c getopt.h getopt1.c info.c \
info.h invitation.c invitation.h list.c list.h names.c names.h \ info.h invitation.c invitation.h list.c list.h names.c names.h \
netutl.c netutl.h sptps.c sptps.h subnet_parse.c subnet.h \ netutl.c netutl.h script.c script.h sptps.c sptps.h \
tincctl.c tincctl.h top.c top.h utils.c utils.h \ subnet_parse.c subnet.h tincctl.c tincctl.h top.c top.h \
$(am__append_10) $(am__append_13) utils.c utils.h $(am__append_10) $(am__append_13)
sptps_test_SOURCES = logger.c logger.h sptps.c sptps.h sptps_test.c \ sptps_test_SOURCES = logger.c logger.h sptps.c sptps.h sptps_test.c \
utils.c utils.h $(am__append_11) $(am__append_14) utils.c utils.h $(am__append_11) $(am__append_14)
tinc_LDADD = $(READLINE_LIBS) $(CURSES_LIBS) tinc_LDADD = $(READLINE_LIBS) $(CURSES_LIBS)
@ -697,6 +701,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protocol_subnet.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protocol_subnet.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raw_socket_device.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raw_socket_device.Po@am__quote@
@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)/script.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splay_tree.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splay_tree.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sptps.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sptps.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sptps_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sptps_test.Po@am__quote@
@ -831,9 +836,6 @@ 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) all-am: Makefile $(PROGRAMS)
@ -957,23 +959,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 installcheck-sbinPROGRAMS installdirs \ installcheck-sbinPROGRAMS installdirs maintainer-clean \
maintainer-clean maintainer-clean-generic mostlyclean \ maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
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:

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -175,9 +175,50 @@ bool init_control(void) {
free(localhost); free(localhost);
fclose(f); fclose(f);
#ifndef HAVE_MINGW
int unix_fd = socket(AF_UNIX, SOCK_STREAM, 0);
if(unix_fd < 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "Could not create UNIX socket: %s", sockstrerror(errno));
return false;
}
struct sockaddr_un sun;
sun.sun_family = AF_UNIX;
strncpy(sun.sun_path, unixsocketname, sizeof sun.sun_path);
if(connect(unix_fd, (struct sockaddr *)&sun, sizeof sun) >= 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "UNIX socket %s is still in use!", unixsocketname);
return false;
}
unlink(unixsocketname);
umask(mask | 077);
int result = bind(unix_fd, (struct sockaddr *)&sun, sizeof sun);
umask(mask);
if(result < 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind UNIX socket to %s: %s", unixsocketname, sockstrerror(errno));
return false;
}
if(listen(unix_fd, 3) < 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "Could not listen on UNIX socket %s: %s", unixsocketname, sockstrerror(errno));
return false;
}
io_add(&unix_socket, handle_new_unix_connection, &unix_socket, unix_fd, IO_READ);
#endif
return true; return true;
} }
void exit_control(void) { void exit_control(void) {
#ifndef HAVE_MINGW
unlink(unixsocketname);
io_del(&unix_socket);
close(unix_socket.fd);
#endif
unlink(pidfilename); unlink(pidfilename);
} }

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1 +0,0 @@
# dummy

View file

@ -1,52 +0,0 @@
/*
cipher.h -- header file cipher.c
Copyright (C) 2007-2009 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef __TINC_CIPHER_H__
#define __TINC_CIPHER_H__
#include <gcrypt.h>
#define CIPHER_MAX_BLOCK_SIZE 32
#define CIPHER_MAX_IV_SIZE 16
#define CIPHER_MAX_KEY_SIZE 32
typedef struct cipher {
gcry_cipher_hd_t handle;
char *key;
int nid;
uint16_t keylen;
uint16_t blklen;
bool padding;
} cipher_t;
extern bool cipher_open_by_name(struct cipher *, const char *);
extern bool cipher_open_by_nid(struct cipher *, int);
extern bool cipher_open_blowfish_ofb(struct cipher *);
extern void cipher_close(struct cipher *);
extern size_t cipher_keylength(const struct cipher *);
extern void cipher_get_key(const struct cipher *, void *);
extern bool cipher_set_key(struct cipher *, void *, bool);
extern bool cipher_set_key_from_rsa(struct cipher *, void *, size_t, bool);
extern bool cipher_regenerate_key(struct cipher *, bool);
extern bool cipher_encrypt(struct cipher *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot);
extern bool cipher_decrypt(struct cipher *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot);
extern int cipher_get_nid(const struct cipher *);
extern bool cipher_active(const struct cipher *);
#endif

View file

@ -1,39 +0,0 @@
/*
rsa.h -- RSA key handling
Copyright (C) 2007 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef __TINC_RSA_H__
#define __TINC_RSA_H__
#include <gcrypt.h>
typedef struct rsa {
gcry_mpi_t n;
gcry_mpi_t e;
gcry_mpi_t d;
} rsa_t;
extern bool rsa_set_hex_public_key(rsa_t *rsa, char *n, char *e);
extern bool rsa_set_hex_private_key(rsa_t *rsa, char *n, char *e, char *d);
extern bool rsa_read_pem_public_key(rsa_t *rsa, FILE *fp);
extern bool rsa_read_pem_private_key(rsa_t *rsa, FILE *fp);
extern size_t rsa_size(rsa_t *rsa);
extern bool rsa_public_encrypt(rsa_t *rsa, void *in, size_t len, void *out);
extern bool rsa_private_decrypt(rsa_t *rsa, void *in, size_t len, void *out);
#endif

View file

@ -1,29 +0,0 @@
/*
rsagen.h -- RSA key generation and export
Copyright (C) 2008 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef __TINC_RSAGEN_H__
#define __TINC_RSAGEN_H__
#include "rsa.h"
extern bool rsa_generate(rsa_t *rsa, size_t bits, unsigned long exponent);
extern bool rsa_write_pem_public_key(rsa_t *rsa, FILE *fp);
extern bool rsa_write_pem_private_key(rsa_t *rsa, FILE *fp);
#endif

View file

@ -53,8 +53,8 @@
#include "names.h" #include "names.h"
#include "netutl.h" #include "netutl.h"
#include "node.h" #include "node.h"
#include "process.h"
#include "protocol.h" #include "protocol.h"
#include "script.h"
#include "subnet.h" #include "subnet.h"
#include "utils.h" #include "utils.h"
#include "xalloc.h" #include "xalloc.h"

View file

@ -27,31 +27,22 @@
#include "names.h" #include "names.h"
#include "netutl.h" #include "netutl.h"
#include "rsagen.h" #include "rsagen.h"
#include "script.h"
#include "sptps.h" #include "sptps.h"
#include "tincctl.h" #include "tincctl.h"
#include "utils.h" #include "utils.h"
#include "xalloc.h" #include "xalloc.h"
#ifdef HAVE_MINGW
#define SCRIPTEXTENSION ".bat"
#else
#define SCRIPTEXTENSION ""
#endif
int addressfamily = AF_UNSPEC; int addressfamily = AF_UNSPEC;
char *get_my_hostname() { static void scan_for_hostname(const char *filename, char **hostname, char **port) {
char *hostname = NULL; if(!filename || (*hostname && *port))
char *port = NULL; return;
char *hostport = NULL;
char *name = get_my_name(false);
char *filename = NULL;
// Use first Address statement in own host config file
if(check_id(name)) {
xasprintf(&filename, "%s" SLASH "hosts" SLASH "%s", confbase, name);
FILE *f = fopen(filename, "r"); FILE *f = fopen(filename, "r");
if(f) { if(!f)
return;
while(fgets(line, sizeof line, f)) { while(fgets(line, sizeof line, f)) {
if(!rstrip(line)) if(!rstrip(line))
continue; continue;
@ -68,21 +59,36 @@ char *get_my_hostname() {
*p++ = 0; *p++ = 0;
p += strspn(p, "\t "); p += strspn(p, "\t ");
p[strcspn(p, "\t ")] = 0; p[strcspn(p, "\t ")] = 0;
if(!port && !strcasecmp(line, "Port")) {
port = xstrdup(q); if(!*port && !strcasecmp(line, "Port")) {
continue; *port = xstrdup(q);
} } else if(!*hostname && !strcasecmp(line, "Address")) {
if(strcasecmp(line, "Address")) *hostname = xstrdup(q);
continue;
hostname = xstrdup(q);
if(*p) { if(*p) {
free(port); free(*port);
port = xstrdup(p); *port = xstrdup(p);
} }
}
if(*hostname && *port)
break; break;
} }
fclose(f); fclose(f);
} }
char *get_my_hostname() {
char *hostname = NULL;
char *port = NULL;
char *hostport = NULL;
char *name = get_my_name(false);
char *filename = NULL;
// Use first Address statement in own host config file
if(check_id(name)) {
xasprintf(&filename, "%s" SLASH "hosts" SLASH "%s", confbase, name);
scan_for_hostname(filename, &hostname, &port);
scan_for_hostname(tinc_conf, &hostname, &port);
} }
if(hostname) if(hostname)
@ -90,12 +96,14 @@ char *get_my_hostname() {
// If that doesn't work, guess externally visible hostname // If that doesn't work, guess externally visible hostname
fprintf(stderr, "Trying to discover externally visible hostname...\n"); fprintf(stderr, "Trying to discover externally visible hostname...\n");
struct addrinfo *ai = str2addrinfo("ifconfig.me", "80", SOCK_STREAM); struct addrinfo *ai = str2addrinfo("tinc-vpn.org", "80", SOCK_STREAM);
static const char request[] = "GET /host HTTP/1.0\r\n\r\n"; struct addrinfo *aip = ai;
if(ai) { static const char request[] = "GET http://tinc-vpn.org/host.cgi HTTP/1.0\r\n\r\n";
int s = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
while(aip) {
int s = socket(aip->ai_family, aip->ai_socktype, aip->ai_protocol);
if(s >= 0) { if(s >= 0) {
if(connect(s, ai->ai_addr, ai->ai_addrlen)) { if(connect(s, aip->ai_addr, aip->ai_addrlen)) {
closesocket(s); closesocket(s);
s = -1; s = -1;
} }
@ -112,14 +120,20 @@ char *get_my_hostname() {
hostname = xstrdup(p + 1); hostname = xstrdup(p + 1);
} }
closesocket(s); closesocket(s);
if(hostname)
break;
} }
aip = aip->ai_next;
continue;
}
if(ai)
freeaddrinfo(ai); freeaddrinfo(ai);
}
// Check that the hostname is reasonable // Check that the hostname is reasonable
if(hostname) { if(hostname) {
for(char *p = hostname; *p; p++) { for(char *p = hostname; *p; p++) {
if(isalnum(*p) || *p == '-' || *p == '.') if(isalnum(*p) || *p == '-' || *p == '.' || *p == ':')
continue; continue;
// If not, forget it. // If not, forget it.
free(hostname); free(hostname);
@ -326,12 +340,17 @@ int cmd_invite(int argc, char *argv[]) {
} }
chmod(filename, 0600); chmod(filename, 0600);
ecdsa_write_pem_private_key(key, f); ecdsa_write_pem_private_key(key, f);
fclose(f);
if(connect_tincd(false))
sendline(fd, "%d %d", CONTROL, REQ_RELOAD);
} else { } else {
key = ecdsa_read_pem_private_key(f); key = ecdsa_read_pem_private_key(f);
fclose(f);
if(!key) if(!key)
fprintf(stderr, "Could not read private key from %s\n", filename); fprintf(stderr, "Could not read private key from %s\n", filename);
} }
fclose(f);
free(filename); free(filename);
if(!key) if(!key)
return 1; return 1;
@ -347,37 +366,76 @@ int cmd_invite(int argc, char *argv[]) {
// Create a random cookie for this invitation. // Create a random cookie for this invitation.
char cookie[25]; char cookie[25];
randomize(cookie, 18); randomize(cookie, 18);
// Create a filename that doesn't reveal the cookie itself
char buf[18 + strlen(fingerprint)];
char cookiehash[25];
memcpy(buf, cookie, 18);
memcpy(buf + 18, fingerprint, sizeof buf - 18);
digest_create(digest, buf, sizeof buf, cookiehash);
b64encode_urlsafe(cookiehash, cookiehash, 18);
b64encode_urlsafe(cookie, cookie, 18); b64encode_urlsafe(cookie, cookie, 18);
// Create a file containing the details of the invitation. // Create a file containing the details of the invitation.
xasprintf(&filename, "%s" SLASH "invitations" SLASH "%s", confbase, cookie); xasprintf(&filename, "%s" SLASH "invitations" SLASH "%s", confbase, cookiehash);
int ifd = open(filename, O_RDWR | O_CREAT | O_EXCL, 0600); int ifd = open(filename, O_RDWR | O_CREAT | O_EXCL, 0600);
if(!ifd) { if(!ifd) {
fprintf(stderr, "Could not create invitation file %s: %s\n", filename, strerror(errno)); fprintf(stderr, "Could not create invitation file %s: %s\n", filename, strerror(errno));
free(filename); free(filename);
return 1; return 1;
} }
free(filename);
f = fdopen(ifd, "w"); f = fdopen(ifd, "w");
if(!f) if(!f)
abort(); abort();
// Get the local address
char *address = get_my_hostname();
// Fill in the details. // Fill in the details.
fprintf(f, "Name = %s\n", argv[1]); fprintf(f, "Name = %s\n", argv[1]);
if(netname) if(netname)
fprintf(f, "NetName = %s\n", netname); fprintf(f, "NetName = %s\n", netname);
fprintf(f, "ConnectTo = %s\n", myname); fprintf(f, "ConnectTo = %s\n", myname);
// TODO: copy Broadcast and Mode
// Copy Broadcast and Mode
FILE *tc = fopen(tinc_conf, "r");
if(tc) {
char buf[1024];
while(fgets(buf, sizeof buf, tc)) {
if((!strncasecmp(buf, "Mode", 4) && strchr(" \t=", buf[4]))
|| (!strncasecmp(buf, "Broadcast", 9) && strchr(" \t=", buf[9])))
fputs(buf, f);
}
fclose(tc);
}
fprintf(f, "#---------------------------------------------------------------#\n"); fprintf(f, "#---------------------------------------------------------------#\n");
fprintf(f, "Name = %s\n", myname); fprintf(f, "Name = %s\n", myname);
xasprintf(&filename, "%s" SLASH "hosts" SLASH "%s", confbase, myname); char *filename2;
fcopy(f, filename); xasprintf(&filename2, "%s" SLASH "hosts" SLASH "%s", confbase, myname);
fcopy(f, filename2);
fclose(f); fclose(f);
free(filename2);
// Create an URL from the local address, key hash and cookie // Create an URL from the local address, key hash and cookie
char *address = get_my_hostname(); char *url;
printf("%s/%s%s\n", address, hash, cookie); xasprintf(&url, "%s/%s%s", address, hash, cookie);
// Call the inviation-created script
char *envp[6] = {};
xasprintf(&envp[0], "NAME=%s", myname);
xasprintf(&envp[1], "NETNAME=%s", netname);
xasprintf(&envp[2], "NODE=%s", argv[1]);
xasprintf(&envp[3], "INVITATION_FILE=%s", filename);
xasprintf(&envp[4], "INVITATION_URL=%s", url);
execute_script("invitation-created", envp);
for(int i = 0; i < 6 && envp[i]; i++)
free(envp[i]);
puts(url);
free(url);
free(filename); free(filename);
free(address); free(address);
@ -684,10 +742,6 @@ make_names:
check_port(name); check_port(name);
fprintf(stderr, "Invitation succesfully accepted.\n");
shutdown(sock, SHUT_RDWR);
success = true;
ask_netname: ask_netname:
if(ask_netname) { if(ask_netname) {
fprintf(stderr, "Enter a new netname: "); fprintf(stderr, "Enter a new netname: ");
@ -716,6 +770,7 @@ ask_netname:
return true; return true;
} }
static bool invitation_send(void *handle, uint8_t type, const char *data, size_t len) { static bool invitation_send(void *handle, uint8_t type, const char *data, size_t len) {
while(len) { while(len) {
int result = send(sock, data, len, 0); int result = send(sock, data, len, 0);
@ -744,6 +799,12 @@ static bool invitation_receive(void *handle, uint8_t type, const char *msg, uint
case 1: case 1:
return finalize_join(); return finalize_join();
case 2:
fprintf(stderr, "Invitation succesfully accepted.\n");
shutdown(sock, SHUT_RDWR);
success = true;
break;
default: default:
return false; return false;
} }
@ -762,7 +823,7 @@ int cmd_join(int argc, char *argv[]) {
} }
// Make sure confbase exists and is accessible. // Make sure confbase exists and is accessible.
if(strcmp(confdir, confbase) && mkdir(confdir, 0755) && errno != EEXIST) { if(!confbase_given && mkdir(confdir, 0755) && errno != EEXIST) {
fprintf(stderr, "Could not create directory %s: %s\n", confdir, strerror(errno)); fprintf(stderr, "Could not create directory %s: %s\n", confdir, strerror(errno));
return 1; return 1;
} }

View file

@ -1,467 +0,0 @@
linux/device.o: linux/device.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h linux/../system.h \
linux/../../config.h linux/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h linux/../dropin.h \
linux/../fake-getaddrinfo.h linux/../fake-gai-errnos.h \
linux/../fake-getnameinfo.h /usr/include/linux/if_tun.h \
/usr/include/linux/filter.h linux/../conf.h linux/../splay_tree.h \
linux/../list.h linux/../subnet.h linux/../net.h linux/../ipv6.h \
linux/../cipher.h linux/../digest.h linux/../event.h linux/../conf.h \
linux/../connection.h linux/../buffer.h linux/../rsa.h linux/../sptps.h \
linux/../system.h linux/../ecdh.h linux/../ecdsa.h linux/../edge.h \
linux/../node.h linux/../device.h linux/../logger.h linux/../names.h \
linux/../net.h linux/../route.h linux/../utils.h linux/../xalloc.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
linux/../system.h:
linux/../../config.h:
linux/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
linux/../dropin.h:
linux/../fake-getaddrinfo.h:
linux/../fake-gai-errnos.h:
linux/../fake-getnameinfo.h:
/usr/include/linux/if_tun.h:
/usr/include/linux/filter.h:
linux/../conf.h:
linux/../splay_tree.h:
linux/../list.h:
linux/../subnet.h:
linux/../net.h:
linux/../ipv6.h:
linux/../cipher.h:
linux/../digest.h:
linux/../event.h:
linux/../conf.h:
linux/../connection.h:
linux/../buffer.h:
linux/../rsa.h:
linux/../sptps.h:
linux/../system.h:
linux/../ecdh.h:
linux/../ecdsa.h:
linux/../edge.h:
linux/../node.h:
linux/../device.h:
linux/../logger.h:
linux/../names.h:
linux/../net.h:
linux/../route.h:
linux/../utils.h:
linux/../xalloc.h:

View file

Binary file not shown.

View file

@ -1 +0,0 @@
# dummy

View file

@ -136,8 +136,6 @@ static bool setup_device(void) {
goto error; goto error;
} }
freeaddrinfo(ai);
logger(DEBUG_ALWAYS, LOG_INFO, "%s is a %s", device, device_info); logger(DEBUG_ALWAYS, LOG_INFO, "%s is a %s", device, device_info);
return true; return true;
@ -173,8 +171,7 @@ static bool read_packet(vpn_packet_t *packet) {
if(!memcmp(&ignore_src, packet->data + 6, sizeof ignore_src)) { if(!memcmp(&ignore_src, packet->data + 6, sizeof ignore_src)) {
logger(DEBUG_SCARY_THINGS, LOG_DEBUG, "Ignoring loopback packet of %d bytes from %s", lenin, device_info); logger(DEBUG_SCARY_THINGS, LOG_DEBUG, "Ignoring loopback packet of %d bytes from %s", lenin, device_info);
packet->len = 0; return false;
return true;
} }
packet->len = lenin; packet->len = lenin;

View file

@ -26,6 +26,7 @@
char *netname = NULL; char *netname = NULL;
char *confdir = NULL; /* base configuration directory */ char *confdir = NULL; /* base configuration directory */
char *confbase = NULL; /* base configuration directory for this instance of tinc */ char *confbase = NULL; /* base configuration directory for this instance of tinc */
bool confbase_given;
char *identname = NULL; /* program name for syslog */ char *identname = NULL; /* program name for syslog */
char *unixsocketname = NULL; /* UNIX socket location */ char *unixsocketname = NULL; /* UNIX socket location */
char *logfilename = NULL; /* log file location */ char *logfilename = NULL; /* log file location */
@ -41,6 +42,7 @@ void make_names(void) {
char installdir[1024] = ""; char installdir[1024] = "";
DWORD len = sizeof installdir; DWORD len = sizeof installdir;
#endif #endif
confbase_given = confbase;
if(netname && confbase) if(netname && confbase)
logger(DEBUG_ALWAYS, LOG_INFO, "Both netname and configuration directory given, using the latter..."); logger(DEBUG_ALWAYS, LOG_INFO, "Both netname and configuration directory given, using the latter...");

View file

@ -23,6 +23,7 @@
extern char *confdir; extern char *confdir;
extern char *confbase; extern char *confbase;
extern bool confbase_given;
extern char *netname; extern char *netname;
extern char *identname; extern char *identname;
extern char *unixsocketname; extern char *unixsocketname;

View file

@ -32,7 +32,6 @@
#include "names.h" #include "names.h"
#include "net.h" #include "net.h"
#include "netutl.h" #include "netutl.h"
#include "process.h"
#include "protocol.h" #include "protocol.h"
#include "subnet.h" #include "subnet.h"
#include "xalloc.h" #include "xalloc.h"

View file

@ -42,7 +42,6 @@
#include "net.h" #include "net.h"
#include "netutl.h" #include "netutl.h"
#include "protocol.h" #include "protocol.h"
#include "process.h"
#include "route.h" #include "route.h"
#include "utils.h" #include "utils.h"
#include "xalloc.h" #include "xalloc.h"

View file

@ -38,6 +38,7 @@
#include "protocol.h" #include "protocol.h"
#include "route.h" #include "route.h"
#include "rsa.h" #include "rsa.h"
#include "script.h"
#include "subnet.h" #include "subnet.h"
#include "utils.h" #include "utils.h"
#include "xalloc.h" #include "xalloc.h"
@ -455,11 +456,7 @@ bool setup_myself_reloadable(void) {
free(scriptextension); free(scriptextension);
if(!get_config_string(lookup_config(config_tree, "ScriptsExtension"), &scriptextension)) if(!get_config_string(lookup_config(config_tree, "ScriptsExtension"), &scriptextension))
#ifdef HAVE_MINGW
scriptextension = xstrdup(".bat");
#else
scriptextension = xstrdup(""); scriptextension = xstrdup("");
#endif
get_config_string(lookup_config(config_tree, "Proxy"), &proxy); get_config_string(lookup_config(config_tree, "Proxy"), &proxy);
if(proxy) { if(proxy) {
@ -754,7 +751,6 @@ static bool setup_myself(void) {
free(cipher); free(cipher);
send_key_changed();
timeout_add(&keyexpire_timeout, keyexpire_handler, &keyexpire_timeout, &(struct timeval){keylifetime, rand() % 100000}); timeout_add(&keyexpire_timeout, keyexpire_handler, &keyexpire_timeout, &(struct timeval){keylifetime, rand() % 100000});
/* Check if we want to use message authentication codes... */ /* Check if we want to use message authentication codes... */
@ -832,60 +828,8 @@ static bool setup_myself(void) {
if(device_fd >= 0) if(device_fd >= 0)
io_add(&device_io, handle_device_data, NULL, device_fd, IO_READ); io_add(&device_io, handle_device_data, NULL, device_fd, IO_READ);
/* Run tinc-up script to further initialize the tap interface */
char *envp[5] = {NULL};
xasprintf(&envp[0], "NETNAME=%s", netname ? : "");
xasprintf(&envp[1], "DEVICE=%s", device ? : "");
xasprintf(&envp[2], "INTERFACE=%s", iface ? : "");
xasprintf(&envp[3], "NAME=%s", myself->name);
execute_script("tinc-up", envp);
for(int i = 0; i < 4; i++)
free(envp[i]);
/* Run subnet-up scripts for our own subnets */
subnet_update(myself, NULL, true);
/* Open sockets */ /* Open sockets */
#ifndef HAVE_MINGW
int unix_fd = socket(AF_UNIX, SOCK_STREAM, 0);
if(unix_fd < 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "Could not create UNIX socket: %s", sockstrerror(errno));
return false;
}
struct sockaddr_un sa;
sa.sun_family = AF_UNIX;
strncpy(sa.sun_path, unixsocketname, sizeof sa.sun_path);
if(connect(unix_fd, (struct sockaddr *)&sa, sizeof sa) >= 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "UNIX socket %s is still in use!", unixsocketname);
return false;
}
unlink(unixsocketname);
mode_t mask = umask(0);
umask(mask | 077);
int result = bind(unix_fd, (struct sockaddr *)&sa, sizeof sa);
umask(mask);
if(result < 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind UNIX socket to %s: %s", unixsocketname, sockstrerror(errno));
return false;
}
if(listen(unix_fd, 3) < 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "Could not listen on UNIX socket %s: %s", unixsocketname, sockstrerror(errno));
return false;
}
io_add(&unix_socket, handle_new_unix_connection, &unix_socket, unix_fd, IO_READ);
#endif
if(!do_detach && getenv("LISTEN_FDS")) { if(!do_detach && getenv("LISTEN_FDS")) {
sockaddr_t sa; sockaddr_t sa;
socklen_t salen; socklen_t salen;
@ -997,9 +941,7 @@ static bool setup_myself(void) {
} while(cfg); } while(cfg);
} }
if(listen_sockets) if(!listen_sockets) {
logger(DEBUG_ALWAYS, LOG_NOTICE, "Ready");
else {
logger(DEBUG_ALWAYS, LOG_ERR, "Unable to create any listening socket!"); logger(DEBUG_ALWAYS, LOG_ERR, "Unable to create any listening socket!");
return false; return false;
} }
@ -1037,6 +979,26 @@ bool setup_network(void) {
if(!setup_myself()) if(!setup_myself())
return false; return false;
if(!init_control())
return false;
/* Run tinc-up script to further initialize the tap interface */
char *envp[5] = {NULL};
xasprintf(&envp[0], "NETNAME=%s", netname ? : "");
xasprintf(&envp[1], "DEVICE=%s", device ? : "");
xasprintf(&envp[2], "INTERFACE=%s", iface ? : "");
xasprintf(&envp[3], "NAME=%s", myself->name);
execute_script("tinc-up", envp);
for(int i = 0; i < 4; i++)
free(envp[i]);
/* Run subnet-up scripts for our own subnets */
subnet_update(myself, NULL, true);
return true; return true;
} }
@ -1069,11 +1031,6 @@ void close_network_connections(void) {
close(listen_socket[i].udp.fd); close(listen_socket[i].udp.fd);
} }
#ifndef HAVE_MINGW
io_del(&unix_socket);
close(unix_socket.fd);
#endif
char *envp[5] = {NULL}; char *envp[5] = {NULL};
xasprintf(&envp[0], "NETNAME=%s", netname ? : ""); xasprintf(&envp[0], "NETNAME=%s", netname ? : "");
xasprintf(&envp[1], "DEVICE=%s", device ? : ""); xasprintf(&envp[1], "DEVICE=%s", device ? : "");
@ -1095,5 +1052,7 @@ void close_network_connections(void) {
devops.close(); devops.close();
exit_control();
return; return;
} }

View file

@ -113,6 +113,34 @@ static bool bind_to_interface(int sd) {
return true; return true;
} }
static bool bind_to_address(connection_t *c) {
int s = -1;
for(int i = 0; i < listen_sockets; i++) {
if(listen_socket[i].sa.sa.sa_family != c->address.sa.sa_family)
continue;
if(s >= 0)
return false;
s = i;
}
if(s < 0)
return false;
sockaddr_t sa = listen_socket[s].sa;
if(sa.sa.sa_family == AF_INET)
sa.in.sin_port = 0;
else if(sa.sa.sa_family == AF_INET6)
sa.in6.sin6_port = 0;
if(bind(c->socket, &sa.sa, SALEN(sa.sa))) {
logger(DEBUG_CONNECTIONS, LOG_WARNING, "Can't bind outgoing socket: %s", strerror(errno));
return false;
}
return true;
}
int setup_listen_socket(const sockaddr_t *sa) { int setup_listen_socket(const sockaddr_t *sa) {
int nfd; int nfd;
char *addrstr; char *addrstr;
@ -481,6 +509,7 @@ begin:
#endif #endif
bind_to_interface(c->socket); bind_to_interface(c->socket);
bind_to_address(c);
} }
/* Connect */ /* Connect */
@ -573,11 +602,23 @@ void handle_new_meta_connection(void *data, int flags) {
tarpit = -1; tarpit = -1;
} }
if(prev_time == now.tv_sec && !sockaddrcmp_noport(&sa, &prev_sa)) { if(!sockaddrcmp_noport(&sa, &prev_sa)) {
// if so, keep the connection open but ignore it completely. static int samehost_burst;
static int samehost_burst_time;
if(now.tv_sec - samehost_burst_time > samehost_burst)
samehost_burst = 0;
else
samehost_burst -= now.tv_sec - samehost_burst_time;
samehost_burst_time = now.tv_sec;
samehost_burst++;
if(samehost_burst > max_connection_burst) {
tarpit = fd; tarpit = fd;
return; return;
} }
}
memcpy(&prev_sa, &sa, sizeof sa); memcpy(&prev_sa, &sa, sizeof sa);
prev_time = now.tv_sec; prev_time = now.tv_sec;

View file

@ -1,454 +0,0 @@
openssl/cipher.o: openssl/cipher.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h /usr/include/openssl/rand.h \
/usr/include/openssl/ossl_typ.h /usr/include/openssl/e_os2.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/err.h /usr/include/openssl/bio.h \
/usr/include/openssl/crypto.h /usr/include/openssl/stack.h \
/usr/include/openssl/safestack.h /usr/include/openssl/opensslv.h \
/usr/include/openssl/symhacks.h /usr/include/openssl/lhash.h \
/usr/include/openssl/evp.h /usr/include/openssl/objects.h \
/usr/include/openssl/obj_mac.h /usr/include/openssl/asn1.h \
/usr/include/openssl/bn.h openssl/../cipher.h openssl/../logger.h \
openssl/../xalloc.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
/usr/include/openssl/rand.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/e_os2.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/err.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/lhash.h:
/usr/include/openssl/evp.h:
/usr/include/openssl/objects.h:
/usr/include/openssl/obj_mac.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
openssl/../cipher.h:
openssl/../logger.h:
openssl/../xalloc.h:

View file

@ -1,482 +0,0 @@
openssl/crypto.o: openssl/crypto.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h /usr/include/openssl/rand.h \
/usr/include/openssl/ossl_typ.h /usr/include/openssl/e_os2.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/evp.h /usr/include/openssl/symhacks.h \
/usr/include/openssl/bio.h /usr/include/openssl/crypto.h \
/usr/include/openssl/stack.h /usr/include/openssl/safestack.h \
/usr/include/openssl/opensslv.h /usr/include/openssl/objects.h \
/usr/include/openssl/obj_mac.h /usr/include/openssl/asn1.h \
/usr/include/openssl/bn.h /usr/include/openssl/engine.h \
/usr/include/openssl/rsa.h /usr/include/openssl/dsa.h \
/usr/include/openssl/dh.h /usr/include/openssl/ecdh.h \
/usr/include/openssl/ec.h /usr/include/openssl/ecdsa.h \
/usr/include/openssl/ui.h /usr/include/openssl/err.h \
/usr/include/openssl/lhash.h /usr/include/openssl/x509.h \
/usr/include/openssl/buffer.h /usr/include/openssl/sha.h \
/usr/include/openssl/x509_vfy.h /usr/include/openssl/pkcs7.h \
openssl/../crypto.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
/usr/include/openssl/rand.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/e_os2.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/evp.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/objects.h:
/usr/include/openssl/obj_mac.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
/usr/include/openssl/engine.h:
/usr/include/openssl/rsa.h:
/usr/include/openssl/dsa.h:
/usr/include/openssl/dh.h:
/usr/include/openssl/ecdh.h:
/usr/include/openssl/ec.h:
/usr/include/openssl/ecdsa.h:
/usr/include/openssl/ui.h:
/usr/include/openssl/err.h:
/usr/include/openssl/lhash.h:
/usr/include/openssl/x509.h:
/usr/include/openssl/buffer.h:
/usr/include/openssl/sha.h:
/usr/include/openssl/x509_vfy.h:
/usr/include/openssl/pkcs7.h:
openssl/../crypto.h:

View file

@ -1,458 +0,0 @@
openssl/digest.o: openssl/digest.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h openssl/../utils.h openssl/../xalloc.h \
/usr/include/openssl/err.h /usr/include/openssl/e_os2.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/ossl_typ.h /usr/include/openssl/bio.h \
/usr/include/openssl/crypto.h /usr/include/openssl/stack.h \
/usr/include/openssl/safestack.h /usr/include/openssl/opensslv.h \
/usr/include/openssl/symhacks.h /usr/include/openssl/lhash.h \
/usr/include/openssl/hmac.h /usr/include/openssl/evp.h \
/usr/include/openssl/objects.h /usr/include/openssl/obj_mac.h \
/usr/include/openssl/asn1.h /usr/include/openssl/bn.h openssl/digest.h \
openssl/../digest.h openssl/../logger.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
openssl/../utils.h:
openssl/../xalloc.h:
/usr/include/openssl/err.h:
/usr/include/openssl/e_os2.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/lhash.h:
/usr/include/openssl/hmac.h:
/usr/include/openssl/evp.h:
/usr/include/openssl/objects.h:
/usr/include/openssl/obj_mac.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
openssl/digest.h:
openssl/../digest.h:
openssl/../logger.h:

View file

@ -1,454 +0,0 @@
openssl/ecdh.o: openssl/ecdh.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h /usr/include/openssl/err.h \
/usr/include/openssl/e_os2.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/ossl_typ.h /usr/include/openssl/bio.h \
/usr/include/openssl/crypto.h /usr/include/openssl/stack.h \
/usr/include/openssl/safestack.h /usr/include/openssl/opensslv.h \
/usr/include/openssl/symhacks.h /usr/include/openssl/lhash.h \
/usr/include/openssl/ec.h /usr/include/openssl/asn1.h \
/usr/include/openssl/bn.h /usr/include/openssl/ecdh.h \
/usr/include/openssl/obj_mac.h openssl/../ecdh.h openssl/../logger.h \
openssl/../utils.h openssl/../xalloc.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
/usr/include/openssl/err.h:
/usr/include/openssl/e_os2.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/lhash.h:
/usr/include/openssl/ec.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
/usr/include/openssl/ecdh.h:
/usr/include/openssl/obj_mac.h:
openssl/../ecdh.h:
openssl/../logger.h:
openssl/../utils.h:
openssl/../xalloc.h:

View file

@ -1,487 +0,0 @@
openssl/ecdsa.o: openssl/ecdsa.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h /usr/include/openssl/pem.h \
/usr/include/openssl/e_os2.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/bio.h /usr/include/openssl/crypto.h \
/usr/include/openssl/stack.h /usr/include/openssl/safestack.h \
/usr/include/openssl/opensslv.h /usr/include/openssl/ossl_typ.h \
/usr/include/openssl/symhacks.h /usr/include/openssl/evp.h \
/usr/include/openssl/objects.h /usr/include/openssl/obj_mac.h \
/usr/include/openssl/asn1.h /usr/include/openssl/bn.h \
/usr/include/openssl/x509.h /usr/include/openssl/buffer.h \
/usr/include/openssl/ec.h /usr/include/openssl/ecdsa.h \
/usr/include/openssl/ecdh.h /usr/include/openssl/rsa.h \
/usr/include/openssl/dsa.h /usr/include/openssl/dh.h \
/usr/include/openssl/sha.h /usr/include/openssl/x509_vfy.h \
/usr/include/openssl/lhash.h /usr/include/openssl/pkcs7.h \
/usr/include/openssl/pem2.h /usr/include/openssl/err.h \
openssl/../logger.h openssl/../ecdsa.h openssl/../utils.h \
openssl/../xalloc.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
/usr/include/openssl/pem.h:
/usr/include/openssl/e_os2.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/evp.h:
/usr/include/openssl/objects.h:
/usr/include/openssl/obj_mac.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
/usr/include/openssl/x509.h:
/usr/include/openssl/buffer.h:
/usr/include/openssl/ec.h:
/usr/include/openssl/ecdsa.h:
/usr/include/openssl/ecdh.h:
/usr/include/openssl/rsa.h:
/usr/include/openssl/dsa.h:
/usr/include/openssl/dh.h:
/usr/include/openssl/sha.h:
/usr/include/openssl/x509_vfy.h:
/usr/include/openssl/lhash.h:
/usr/include/openssl/pkcs7.h:
/usr/include/openssl/pem2.h:
/usr/include/openssl/err.h:
openssl/../logger.h:
openssl/../ecdsa.h:
openssl/../utils.h:
openssl/../xalloc.h:

View file

@ -1,487 +0,0 @@
openssl/ecdsagen.o: openssl/ecdsagen.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h /usr/include/openssl/pem.h \
/usr/include/openssl/e_os2.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/bio.h /usr/include/openssl/crypto.h \
/usr/include/openssl/stack.h /usr/include/openssl/safestack.h \
/usr/include/openssl/opensslv.h /usr/include/openssl/ossl_typ.h \
/usr/include/openssl/symhacks.h /usr/include/openssl/evp.h \
/usr/include/openssl/objects.h /usr/include/openssl/obj_mac.h \
/usr/include/openssl/asn1.h /usr/include/openssl/bn.h \
/usr/include/openssl/x509.h /usr/include/openssl/buffer.h \
/usr/include/openssl/ec.h /usr/include/openssl/ecdsa.h \
/usr/include/openssl/ecdh.h /usr/include/openssl/rsa.h \
/usr/include/openssl/dsa.h /usr/include/openssl/dh.h \
/usr/include/openssl/sha.h /usr/include/openssl/x509_vfy.h \
/usr/include/openssl/lhash.h /usr/include/openssl/pkcs7.h \
/usr/include/openssl/pem2.h /usr/include/openssl/err.h \
openssl/../ecdsagen.h openssl/../ecdsa.h openssl/../utils.h \
openssl/../xalloc.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
/usr/include/openssl/pem.h:
/usr/include/openssl/e_os2.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/evp.h:
/usr/include/openssl/objects.h:
/usr/include/openssl/obj_mac.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
/usr/include/openssl/x509.h:
/usr/include/openssl/buffer.h:
/usr/include/openssl/ec.h:
/usr/include/openssl/ecdsa.h:
/usr/include/openssl/ecdh.h:
/usr/include/openssl/rsa.h:
/usr/include/openssl/dsa.h:
/usr/include/openssl/dh.h:
/usr/include/openssl/sha.h:
/usr/include/openssl/x509_vfy.h:
/usr/include/openssl/lhash.h:
/usr/include/openssl/pkcs7.h:
/usr/include/openssl/pem2.h:
/usr/include/openssl/err.h:
openssl/../ecdsagen.h:
openssl/../ecdsa.h:
openssl/../utils.h:
openssl/../xalloc.h:

View file

@ -1,446 +0,0 @@
openssl/prf.o: openssl/prf.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h /usr/include/openssl/obj_mac.h \
openssl/digest.h /usr/include/openssl/evp.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/ossl_typ.h /usr/include/openssl/e_os2.h \
/usr/include/openssl/symhacks.h /usr/include/openssl/bio.h \
/usr/include/openssl/crypto.h /usr/include/openssl/stack.h \
/usr/include/openssl/safestack.h /usr/include/openssl/opensslv.h \
/usr/include/openssl/objects.h /usr/include/openssl/asn1.h \
/usr/include/openssl/bn.h openssl/../digest.h openssl/../prf.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
/usr/include/openssl/obj_mac.h:
openssl/digest.h:
/usr/include/openssl/evp.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/e_os2.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/objects.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
openssl/../digest.h:
openssl/../prf.h:

View file

@ -1,482 +0,0 @@
openssl/rsa.o: openssl/rsa.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h /usr/include/openssl/pem.h \
/usr/include/openssl/e_os2.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/bio.h /usr/include/openssl/crypto.h \
/usr/include/openssl/stack.h /usr/include/openssl/safestack.h \
/usr/include/openssl/opensslv.h /usr/include/openssl/ossl_typ.h \
/usr/include/openssl/symhacks.h /usr/include/openssl/evp.h \
/usr/include/openssl/objects.h /usr/include/openssl/obj_mac.h \
/usr/include/openssl/asn1.h /usr/include/openssl/bn.h \
/usr/include/openssl/x509.h /usr/include/openssl/buffer.h \
/usr/include/openssl/ec.h /usr/include/openssl/ecdsa.h \
/usr/include/openssl/ecdh.h /usr/include/openssl/rsa.h \
/usr/include/openssl/dsa.h /usr/include/openssl/dh.h \
/usr/include/openssl/sha.h /usr/include/openssl/x509_vfy.h \
/usr/include/openssl/lhash.h /usr/include/openssl/pkcs7.h \
/usr/include/openssl/pem2.h /usr/include/openssl/err.h \
openssl/../logger.h openssl/../rsa.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
/usr/include/openssl/pem.h:
/usr/include/openssl/e_os2.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/evp.h:
/usr/include/openssl/objects.h:
/usr/include/openssl/obj_mac.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
/usr/include/openssl/x509.h:
/usr/include/openssl/buffer.h:
/usr/include/openssl/ec.h:
/usr/include/openssl/ecdsa.h:
/usr/include/openssl/ecdh.h:
/usr/include/openssl/rsa.h:
/usr/include/openssl/dsa.h:
/usr/include/openssl/dh.h:
/usr/include/openssl/sha.h:
/usr/include/openssl/x509_vfy.h:
/usr/include/openssl/lhash.h:
/usr/include/openssl/pkcs7.h:
/usr/include/openssl/pem2.h:
/usr/include/openssl/err.h:
openssl/../logger.h:
openssl/../rsa.h:

View file

@ -1,484 +0,0 @@
openssl/rsagen.o: openssl/rsagen.c /usr/include/stdc-predef.h \
/usr/include/x86_64-linux-gnu/bits/predefs.h openssl/../system.h \
openssl/../../config.h openssl/../have.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/sigset.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/sys/sysmacros.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/string.h \
/usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/ctype.h \
/usr/include/signal.h /usr/include/x86_64-linux-gnu/bits/signum.h \
/usr/include/x86_64-linux-gnu/bits/siginfo.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/uio.h \
/usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h \
/usr/include/inttypes.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/sys/file.h \
/usr/include/x86_64-linux-gnu/sys/wait.h \
/usr/include/x86_64-linux-gnu/sys/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctls.h \
/usr/include/x86_64-linux-gnu/asm/ioctls.h \
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
/usr/include/x86_64-linux-gnu/asm/ioctl.h \
/usr/include/asm-generic/ioctl.h \
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h \
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h \
/usr/include/x86_64-linux-gnu/sys/param.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
/usr/include/x86_64-linux-gnu/asm/param.h \
/usr/include/asm-generic/param.h \
/usr/include/x86_64-linux-gnu/sys/resource.h \
/usr/include/x86_64-linux-gnu/bits/resource.h \
/usr/include/x86_64-linux-gnu/sys/uio.h \
/usr/include/x86_64-linux-gnu/sys/un.h \
/usr/include/x86_64-linux-gnu/bits/sockaddr.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h /usr/include/netdb.h \
/usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket.h \
/usr/include/x86_64-linux-gnu/bits/socket_type.h \
/usr/include/x86_64-linux-gnu/asm/socket.h \
/usr/include/asm-generic/socket.h \
/usr/include/x86_64-linux-gnu/asm/sockios.h \
/usr/include/asm-generic/sockios.h \
/usr/include/x86_64-linux-gnu/bits/in.h /usr/include/rpc/netdb.h \
/usr/include/x86_64-linux-gnu/bits/netdb.h /usr/include/net/if.h \
/usr/include/netinet/in_systm.h /usr/include/arpa/inet.h \
/usr/include/netinet/ip.h /usr/include/netinet/tcp.h \
/usr/include/netinet/ip6.h /usr/include/net/ethernet.h \
/usr/include/linux/if_ether.h /usr/include/linux/types.h \
/usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h /usr/include/net/if_arp.h \
/usr/include/netinet/ip_icmp.h /usr/include/netinet/icmp6.h \
/usr/include/netinet/if_ether.h openssl/../dropin.h \
openssl/../fake-getaddrinfo.h openssl/../fake-gai-errnos.h \
openssl/../fake-getnameinfo.h /usr/include/openssl/pem.h \
/usr/include/openssl/e_os2.h \
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h \
/usr/include/openssl/bio.h /usr/include/openssl/crypto.h \
/usr/include/openssl/stack.h /usr/include/openssl/safestack.h \
/usr/include/openssl/opensslv.h /usr/include/openssl/ossl_typ.h \
/usr/include/openssl/symhacks.h /usr/include/openssl/evp.h \
/usr/include/openssl/objects.h /usr/include/openssl/obj_mac.h \
/usr/include/openssl/asn1.h /usr/include/openssl/bn.h \
/usr/include/openssl/x509.h /usr/include/openssl/buffer.h \
/usr/include/openssl/ec.h /usr/include/openssl/ecdsa.h \
/usr/include/openssl/ecdh.h /usr/include/openssl/rsa.h \
/usr/include/openssl/dsa.h /usr/include/openssl/dh.h \
/usr/include/openssl/sha.h /usr/include/openssl/x509_vfy.h \
/usr/include/openssl/lhash.h /usr/include/openssl/pkcs7.h \
/usr/include/openssl/pem2.h /usr/include/openssl/err.h \
openssl/../logger.h openssl/../rsagen.h openssl/../rsa.h
/usr/include/stdc-predef.h:
/usr/include/x86_64-linux-gnu/bits/predefs.h:
openssl/../system.h:
openssl/../../config.h:
openssl/../have.h:
/usr/include/stdio.h:
/usr/include/features.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/libio.h:
/usr/include/_G_config.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
/usr/include/xlocale.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/sigset.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/string.h:
/usr/include/x86_64-linux-gnu/bits/string2.h:
/usr/include/ctype.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum.h:
/usr/include/x86_64-linux-gnu/bits/siginfo.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/uio.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/getopt.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdbool.h:
/usr/include/inttypes.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/sys/file.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctls.h:
/usr/include/x86_64-linux-gnu/asm/ioctls.h:
/usr/include/asm-generic/ioctls.h:
/usr/include/linux/ioctl.h:
/usr/include/x86_64-linux-gnu/asm/ioctl.h:
/usr/include/asm-generic/ioctl.h:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h:
/usr/include/x86_64-linux-gnu/sys/param.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/param.h:
/usr/include/linux/param.h:
/usr/include/x86_64-linux-gnu/asm/param.h:
/usr/include/asm-generic/param.h:
/usr/include/x86_64-linux-gnu/sys/resource.h:
/usr/include/x86_64-linux-gnu/bits/resource.h:
/usr/include/x86_64-linux-gnu/sys/uio.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/netdb.h:
/usr/include/netinet/in.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/in.h:
/usr/include/rpc/netdb.h:
/usr/include/x86_64-linux-gnu/bits/netdb.h:
/usr/include/net/if.h:
/usr/include/netinet/in_systm.h:
/usr/include/arpa/inet.h:
/usr/include/netinet/ip.h:
/usr/include/netinet/tcp.h:
/usr/include/netinet/ip6.h:
/usr/include/net/ethernet.h:
/usr/include/linux/if_ether.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/net/if_arp.h:
/usr/include/netinet/ip_icmp.h:
/usr/include/netinet/icmp6.h:
/usr/include/netinet/if_ether.h:
openssl/../dropin.h:
openssl/../fake-getaddrinfo.h:
openssl/../fake-gai-errnos.h:
openssl/../fake-getnameinfo.h:
/usr/include/openssl/pem.h:
/usr/include/openssl/e_os2.h:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:
/usr/include/openssl/bio.h:
/usr/include/openssl/crypto.h:
/usr/include/openssl/stack.h:
/usr/include/openssl/safestack.h:
/usr/include/openssl/opensslv.h:
/usr/include/openssl/ossl_typ.h:
/usr/include/openssl/symhacks.h:
/usr/include/openssl/evp.h:
/usr/include/openssl/objects.h:
/usr/include/openssl/obj_mac.h:
/usr/include/openssl/asn1.h:
/usr/include/openssl/bn.h:
/usr/include/openssl/x509.h:
/usr/include/openssl/buffer.h:
/usr/include/openssl/ec.h:
/usr/include/openssl/ecdsa.h:
/usr/include/openssl/ecdh.h:
/usr/include/openssl/rsa.h:
/usr/include/openssl/dsa.h:
/usr/include/openssl/dh.h:
/usr/include/openssl/sha.h:
/usr/include/openssl/x509_vfy.h:
/usr/include/openssl/lhash.h:
/usr/include/openssl/pkcs7.h:
/usr/include/openssl/pem2.h:
/usr/include/openssl/err.h:
openssl/../logger.h:
openssl/../rsagen.h:
openssl/../rsa.h:

View file

View file

@ -171,7 +171,7 @@ bool cipher_counter_xor(cipher_t *cipher, const void *indata, size_t inlen, void
break; break;
} }
*out++ = *in++ ^ cipher->counter->counter[cipher->counter->n++]; *out++ = *in++ ^ cipher->counter->block[cipher->counter->n++];
if(cipher->counter->n >= cipher->cipher->block_size) if(cipher->counter->n >= cipher->cipher->block_size)
cipher->counter->n = 0; cipher->counter->n = 0;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -214,72 +214,4 @@ bool detach(void) {
return true; return true;
} }
bool execute_script(const char *name, char **envp) {
#ifdef HAVE_SYSTEM
char *scriptname;
char *command;
xasprintf(&scriptname, "%s" SLASH "%s%s", confbase, name, scriptextension);
/* First check if there is a script */
if(access(scriptname, F_OK)) {
free(scriptname);
return true;
}
logger(DEBUG_STATUS, LOG_INFO, "Executing script %s", name);
#ifdef HAVE_PUTENV
/* Set environment */
for(int i = 0; envp[i]; i++)
putenv(envp[i]);
#endif
if(scriptinterpreter)
xasprintf(&command, "%s \"%s\"", scriptinterpreter, scriptname);
else
xasprintf(&command, "\"%s\"", scriptname);
int status = system(command);
free(command);
free(scriptname);
/* Unset environment */
for(int i = 0; envp[i]; i++) {
char *e = strchr(envp[i], '=');
if(e) {
char p[e - envp[i] + 1];
strncpy(p, envp[i], e - envp[i]);
p[e - envp[i]] = '\0';
putenv(p);
}
}
if(status != -1) {
#ifdef WEXITSTATUS
if(WIFEXITED(status)) { /* Child exited by itself */
if(WEXITSTATUS(status)) {
logger(DEBUG_ALWAYS, LOG_ERR, "Script %s exited with non-zero status %d",
name, WEXITSTATUS(status));
return false;
}
} else if(WIFSIGNALED(status)) { /* Child was killed by a signal */
logger(DEBUG_ALWAYS, LOG_ERR, "Script %s was killed by signal %d (%s)",
name, WTERMSIG(status), strsignal(WTERMSIG(status)));
return false;
} else { /* Something strange happened */
logger(DEBUG_ALWAYS, LOG_ERR, "Script %s terminated abnormally", name);
return false;
}
#endif
} else {
logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "system", strerror(errno));
return false;
}
#endif
return true;
}

View file

@ -1,7 +1,7 @@
/* /*
process.h -- header file for process.c process.h -- header file for process.c
Copyright (C) 1999-2005 Ivo Timmermans, Copyright (C) 1999-2005 Ivo Timmermans,
2000-2010 Guus Sliepen <guus@tinc-vpn.org> 2000-2013 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -25,7 +25,6 @@ extern bool do_detach;
extern bool sigalrm; extern bool sigalrm;
extern void setup_signals(void); extern void setup_signals(void);
extern bool execute_script(const char *, char **);
extern bool detach(void); extern bool detach(void);
extern bool kill_other(int); extern bool kill_other(int);

View file

@ -26,6 +26,7 @@
#include "control_common.h" #include "control_common.h"
#include "cipher.h" #include "cipher.h"
#include "crypto.h" #include "crypto.h"
#include "device.h"
#include "digest.h" #include "digest.h"
#include "ecdsa.h" #include "ecdsa.h"
#include "edge.h" #include "edge.h"
@ -39,6 +40,7 @@
#include "prf.h" #include "prf.h"
#include "protocol.h" #include "protocol.h"
#include "rsa.h" #include "rsa.h"
#include "script.h"
#include "sptps.h" #include "sptps.h"
#include "utils.h" #include "utils.h"
#include "xalloc.h" #include "xalloc.h"
@ -174,6 +176,25 @@ static bool finalize_invitation(connection_t *c, const char *data, uint16_t len)
fclose(f); fclose(f);
logger(DEBUG_CONNECTIONS, LOG_INFO, "Key succesfully received from %s (%s)", c->name, c->hostname); logger(DEBUG_CONNECTIONS, LOG_INFO, "Key succesfully received from %s (%s)", c->name, c->hostname);
// Call invitation-accepted script
char *envp[7] = {NULL};
char *address, *port;
xasprintf(&envp[0], "NETNAME=%s", netname ? : "");
xasprintf(&envp[1], "DEVICE=%s", device ? : "");
xasprintf(&envp[2], "INTERFACE=%s", iface ? : "");
xasprintf(&envp[3], "NODE=%s", c->name);
sockaddr2str(&c->address, &address, &port);
xasprintf(&envp[4], "REMOTEADDRESS=%s", address);
xasprintf(&envp[5], "NAME=%s", myself->name);
execute_script("invitation-accepted", envp);
for(int i = 0; envp[i] && i < 7; i++)
free(envp[i]);
sptps_send_record(&c->sptps, 2, data, 0);
return true; return true;
} }
@ -189,8 +210,19 @@ static bool receive_invitation_sptps(void *handle, uint8_t type, const char *dat
if(type != 0 || len != 18 || c->status.invitation_used) if(type != 0 || len != 18 || c->status.invitation_used)
return false; return false;
// Recover the filename from the cookie and the key
digest_t *digest = digest_open_by_name("sha256", 18);
if(!digest)
abort();
char *fingerprint = ecdsa_get_base64_public_key(invitation_key);
char hashbuf[18 + strlen(fingerprint)];
char cookie[25]; char cookie[25];
b64encode_urlsafe(data, cookie, 18); memcpy(hashbuf, data, 18);
memcpy(hashbuf + 18, fingerprint, sizeof hashbuf - 18);
digest_create(digest, hashbuf, sizeof hashbuf, cookie);
b64encode_urlsafe(cookie, cookie, 18);
digest_close(digest);
free(fingerprint);
char filename[PATH_MAX], usedname[PATH_MAX]; char filename[PATH_MAX], usedname[PATH_MAX];
snprintf(filename, sizeof filename, "%s" SLASH "invitations" SLASH "%s", confbase, cookie); snprintf(filename, sizeof filename, "%s" SLASH "invitations" SLASH "%s", confbase, cookie);

126
src/script.c Normal file
View file

@ -0,0 +1,126 @@
/*
script.c -- call an external script
Copyright (C) 1999-2005 Ivo Timmermans,
2000-2013 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "system.h"
#include "conf.h"
#include "logger.h"
#include "names.h"
#include "script.h"
#include "xalloc.h"
bool execute_script(const char *name, char **envp) {
#ifdef HAVE_SYSTEM
char *scriptname;
char *command;
xasprintf(&scriptname, "%s" SLASH "%s%s", confbase, name, scriptextension);
/* First check if there is a script */
#ifdef HAVE_MINGW
if(!*scriptextension) {
const char *pathext = getenv("PATHEXT") ?: ".COM;.EXE;.BAT;.CMD";
char fullname[strlen(scriptname) + strlen(pathext)];
char *ext = fullname + strlen(scriptname);
strcpy(fullname, scriptname);
const char *p = pathext;
bool found = false;
while(p && *p) {
const char *q = strchr(p, ';');
if(q) {
memcpy(ext, p, q - p);
ext[q - p] = 0;
*q++;
} else {
strcpy(ext, p);
}
if((found = !access(fullname, F_OK)))
break;
p = q;
}
if(!found) {
free(scriptname);
return true;
}
} else
#endif
if(access(scriptname, F_OK)) {
free(scriptname);
return true;
}
logger(DEBUG_STATUS, LOG_INFO, "Executing script %s", name);
#ifdef HAVE_PUTENV
/* Set environment */
for(int i = 0; envp[i]; i++)
putenv(envp[i]);
#endif
if(scriptinterpreter)
xasprintf(&command, "%s \"%s\"", scriptinterpreter, scriptname);
else
xasprintf(&command, "\"%s\"", scriptname);
int status = system(command);
free(command);
free(scriptname);
/* Unset environment */
for(int i = 0; envp[i]; i++) {
char *e = strchr(envp[i], '=');
if(e) {
char p[e - envp[i] + 1];
strncpy(p, envp[i], e - envp[i]);
p[e - envp[i]] = '\0';
putenv(p);
}
}
if(status != -1) {
#ifdef WEXITSTATUS
if(WIFEXITED(status)) { /* Child exited by itself */
if(WEXITSTATUS(status)) {
logger(DEBUG_ALWAYS, LOG_ERR, "Script %s exited with non-zero status %d",
name, WEXITSTATUS(status));
return false;
}
} else if(WIFSIGNALED(status)) { /* Child was killed by a signal */
logger(DEBUG_ALWAYS, LOG_ERR, "Script %s was killed by signal %d (%s)",
name, WTERMSIG(status), strsignal(WTERMSIG(status)));
return false;
} else { /* Something strange happened */
logger(DEBUG_ALWAYS, LOG_ERR, "Script %s terminated abnormally", name);
return false;
}
#endif
} else {
logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "system", strerror(errno));
return false;
}
#endif
return true;
}

View file

@ -1,6 +1,7 @@
/* /*
crypto.h -- header for crypto.c script.h -- header file for script.c
Copyright (C) 2007-2009 Guus Sliepen <guus@tinc-vpn.org> Copyright (C) 1999-2005 Ivo Timmermans,
2000-2013 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -17,11 +18,9 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#ifndef __TINC_CRYPTO_H__ #ifndef __TINC_SCRIPT_H__
#define __TINC_CRYPTO_H__ #define __TINC_SCRIPT_H__
extern void crypto_init(); extern bool execute_script(const char *, char **);
extern void crypto_exit();
extern void randomize(void *, size_t);
#endif #endif /* __TINC_SCRIPT_H__ */

View file

@ -1 +0,0 @@
# dummy

View file

@ -466,7 +466,8 @@ static bool sptps_receive_data_datagram(sptps_t *s, const char *data, size_t len
// Unless we have seen lots of them, in which case we consider the others lost. // Unless we have seen lots of them, in which case we consider the others lost.
warning(s, "Lost %d packets\n", seqno - s->inseqno); warning(s, "Lost %d packets\n", seqno - s->inseqno);
memset(s->late, 0, s->replaywin); // Mark all packets in the replay window as being late.
memset(s->late, 255, s->replaywin);
} else if (seqno < s->inseqno) { } else if (seqno < s->inseqno) {
// If the sequence number is farther in the past than the bitmap goes, or if the packet was already received, drop it. // If the sequence number is farther in the past than the bitmap goes, or if the packet was already received, drop it.
if((s->inseqno >= s->replaywin * 8 && seqno < s->inseqno - s->replaywin * 8) || !(s->late[(seqno / 8) % s->replaywin] & (1 << seqno % 8))) if((s->inseqno >= s->replaywin * 8 && seqno < s->inseqno - s->replaywin * 8) || !(s->late[(seqno / 8) % s->replaywin] & (1 << seqno % 8)))
@ -483,7 +484,7 @@ static bool sptps_receive_data_datagram(sptps_t *s, const char *data, size_t len
s->farfuture = 0; s->farfuture = 0;
} }
if(seqno > s->inseqno) if(seqno >= s->inseqno)
s->inseqno = seqno + 1; s->inseqno = seqno + 1;
if(!s->inseqno) if(!s->inseqno)
@ -629,6 +630,7 @@ bool sptps_start(sptps_t *s, void *handle, bool initiator, bool datagram, ecdsa_
s->late = malloc(s->replaywin); s->late = malloc(s->replaywin);
if(!s->late) if(!s->late)
return error(s, errno, strerror(errno)); return error(s, errno, strerror(errno));
memset(s->late, 0, s->replaywin);
} }
s->label = malloc(labellen); s->label = malloc(labellen);

View file

@ -19,6 +19,8 @@
#include "system.h" #include "system.h"
#include <getopt.h>
#include "crypto.h" #include "crypto.h"
#include "ecdsa.h" #include "ecdsa.h"
#include "sptps.h" #include "sptps.h"
@ -31,7 +33,8 @@ bool send_meta(void *c, const char *msg , int len) { return false; }
char *logfilename = NULL; char *logfilename = NULL;
struct timeval now; struct timeval now;
ecdsa_t *mykey, *hiskey; static bool readonly;
static bool writeonly;
static bool send_data(void *handle, uint8_t type, const char *data, size_t len) { static bool send_data(void *handle, uint8_t type, const char *data, size_t len) {
char hex[len * 2 + 1]; char hex[len * 2 + 1];
@ -45,28 +48,103 @@ static bool send_data(void *handle, uint8_t type, const char *data, size_t len)
static bool receive_record(void *handle, uint8_t type, const char *data, uint16_t len) { static bool receive_record(void *handle, uint8_t type, const char *data, uint16_t len) {
fprintf(stderr, "Received type %d record of %hu bytes:\n", type, len); fprintf(stderr, "Received type %d record of %hu bytes:\n", type, len);
if(!writeonly)
fwrite(data, len, 1, stdout); fwrite(data, len, 1, stdout);
return true; return true;
} }
static struct option const long_options[] = {
{"datagram", no_argument, NULL, 'd'},
{"quit", no_argument, NULL, 'q'},
{"readonly", no_argument, NULL, 'r'},
{"writeonly", no_argument, NULL, 'w'},
{"packet-loss", required_argument, NULL, 'L'},
{"replay-window", required_argument, NULL, 'W'},
{"help", no_argument, NULL, 1},
{NULL, 0, NULL, 0}
};
const char *program_name;
static void usage() {
fprintf(stderr, "Usage: %s [options] my_ecdsa_key_file his_ecdsa_key_file [host] port\n\n", program_name);
fprintf(stderr, "Valid options are:\n"
" -d, --datagram Enable datagram mode.\n"
" -q, --quit Quit when EOF occurs on stdin.\n"
" -r, --readonly Only send data from the socket to stdout.\n"
" -w, --writeonly Only send data from stdin to the socket.\n"
" -L, --packet-loss RATE Fake packet loss of RATE percent.\n"
" -R, --replay-window N Set replay window to N bytes.\n"
"\n");
fprintf(stderr, "Report bugs to tinc@tinc-vpn.org.\n");
}
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
program_name = argv[0];
bool initiator = false; bool initiator = false;
bool datagram = false; bool datagram = false;
int packetloss = 0;
int r;
int option_index = 0;
ecdsa_t *mykey = NULL, *hiskey = NULL;
bool quit = false;
if(argc > 1 && !strcmp(argv[1], "-d")) { while((r = getopt_long(argc, argv, "dqrwL:W:", long_options, &option_index)) != EOF) {
switch (r) {
case 0: /* long option */
break;
case 'd': /* datagram mode */
datagram = true; datagram = true;
argc--; break;
argv++;
case 'q': /* close connection on EOF from stdin */
quit = true;
break;
case 'r': /* read only */
readonly = true;
break;
case 'w': /* write only */
writeonly = true;
break;
case 'L': /* packet loss rate */
packetloss = atoi(optarg);
break;
case 'W': /* replay window size */
sptps_replaywin = atoi(optarg);
break;
case '?': /* wrong options */
usage();
return 1;
case 1: /* help */
usage();
return 0;
default:
break;
}
} }
if(argc < 4) { argc -= optind - 1;
fprintf(stderr, "Usage: %s [-d] my_ecdsa_key_file his_ecdsa_key_file [host] port\n", argv[0]); argv += optind - 1;
if(argc < 4 || argc > 5) {
fprintf(stderr, "Wrong number of arguments.\n");
usage();
return 1; return 1;
} }
if(argc > 4) if(argc > 4)
initiator = true; initiator = true;
srand(time(NULL));
#ifdef HAVE_MINGW #ifdef HAVE_MINGW
static struct WSAData wsa_state; static struct WSAData wsa_state;
if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) if(WSAStartup(MAKEWORD(2, 2), &wsa_state))
@ -159,11 +237,15 @@ int main(int argc, char *argv[]) {
return 1; return 1;
while(true) { while(true) {
if(writeonly && readonly)
break;
char buf[65535] = ""; char buf[65535] = "";
fd_set fds; fd_set fds;
FD_ZERO(&fds); FD_ZERO(&fds);
#ifndef HAVE_MINGW #ifndef HAVE_MINGW
if(!readonly && s.instate)
FD_SET(0, &fds); FD_SET(0, &fds);
#endif #endif
FD_SET(sock, &fds); FD_SET(sock, &fds);
@ -172,12 +254,19 @@ int main(int argc, char *argv[]) {
if(FD_ISSET(0, &fds)) { if(FD_ISSET(0, &fds)) {
ssize_t len = read(0, buf, sizeof buf); ssize_t len = read(0, buf, sizeof buf);
fprintf(stderr, "%zd\n", len);
if(len < 0) { if(len < 0) {
fprintf(stderr, "Could not read from stdin: %s\n", strerror(errno)); fprintf(stderr, "Could not read from stdin: %s\n", strerror(errno));
return 1; return 1;
} }
if(len == 0) if(len == 0) {
if(quit)
break; break;
readonly = true;
continue;
}
if(buf[0] == '#')
s.outseqno = atoi(buf + 1);
if(buf[0] == '^') if(buf[0] == '^')
sptps_send_record(&s, SPTPS_HANDSHAKE, NULL, 0); sptps_send_record(&s, SPTPS_HANDSHAKE, NULL, 0);
else if(buf[0] == '$') { else if(buf[0] == '$') {
@ -202,7 +291,11 @@ int main(int argc, char *argv[]) {
char hex[len * 2 + 1]; char hex[len * 2 + 1];
bin2hex(buf, hex, len); bin2hex(buf, hex, len);
fprintf(stderr, "Received %d bytes of data:\n%s\n", (int)len, hex); fprintf(stderr, "Received %d bytes of data:\n%s\n", (int)len, hex);
if(!sptps_receive_data(&s, buf, len)) if((rand() % 100) < packetloss) {
fprintf(stderr, "Dropped.\n");
continue;
}
if(!sptps_receive_data(&s, buf, len) && !datagram)
return 1; return 1;
} }
} }

View file

@ -29,7 +29,7 @@
#include "net.h" #include "net.h"
#include "netutl.h" #include "netutl.h"
#include "node.h" #include "node.h"
#include "process.h" #include "script.h"
#include "subnet.h" #include "subnet.h"
#include "utils.h" #include "utils.h"
#include "xalloc.h" #include "xalloc.h"

View file

@ -39,12 +39,6 @@
#include "tincctl.h" #include "tincctl.h"
#include "top.h" #include "top.h"
#ifdef HAVE_MINGW
#define SCRIPTEXTENSION ".bat"
#else
#define SCRIPTEXTENSION ""
#endif
static char **orig_argv; static char **orig_argv;
static int orig_argc; static int orig_argc;
@ -71,10 +65,8 @@ static bool force = false;
bool tty = true; bool tty = true;
bool confbasegiven = false; bool confbasegiven = false;
bool netnamegiven = false; bool netnamegiven = false;
char *scriptinterpreter = NULL;
#ifdef HAVE_MINGW char *scriptextension = "";
static struct WSAData wsa_state;
#endif
static struct option const long_options[] = { static struct option const long_options[] = {
{"config", required_argument, NULL, 'c'}, {"config", required_argument, NULL, 'c'},
@ -686,14 +678,6 @@ bool connect_tincd(bool verbose) {
fclose(f); fclose(f);
#ifdef HAVE_MINGW
if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) {
if(verbose)
fprintf(stderr, "System call `%s' failed: %s", "WSAStartup", winerror(GetLastError()));
return false;
}
#endif
#ifndef HAVE_MINGW #ifndef HAVE_MINGW
struct sockaddr_un sa; struct sockaddr_un sa;
sa.sun_family = AF_UNIX; sa.sun_family = AF_UNIX;
@ -1622,7 +1606,7 @@ static int cmd_config(int argc, char *argv[]) {
if(action < 0 && !removed) { if(action < 0 && !removed) {
remove(tmpfile); remove(tmpfile);
fprintf(stderr, "No configuration variables deleted.\n"); fprintf(stderr, "No configuration variables deleted.\n");
return *value; return *value != 0;
} }
// Replace the configuration file with the new one // Replace the configuration file with the new one
@ -1755,7 +1739,7 @@ static int cmd_init(int argc, char *argv[]) {
return 1; return 1;
} }
if(strcmp(confdir, confbase) && mkdir(confdir, 0755) && errno != EEXIST) { if(!confbase_given && mkdir(confdir, 0755) && errno != EEXIST) {
fprintf(stderr, "Could not create directory %s: %s\n", confdir, strerror(errno)); fprintf(stderr, "Could not create directory %s: %s\n", confdir, strerror(errno));
return 1; return 1;
} }
@ -2370,6 +2354,15 @@ int main(int argc, char *argv[]) {
return 0; return 0;
} }
#ifdef HAVE_MINGW
static struct WSAData wsa_state;
if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) {
fprintf(stderr, "System call `%s' failed: %s", "WSAStartup", winerror(GetLastError()));
return false;
}
#endif
srand(time(NULL)); srand(time(NULL));
crypto_init(); crypto_init();

View file

@ -400,14 +400,7 @@ int main2(int argc, char **argv) {
/* Setup sockets and open device. */ /* Setup sockets and open device. */
if(!setup_network()) if(!setup_network())
goto end_nonet; goto end;
if(!init_control())
goto end_nonet;
/* Initiate all outgoing connections. */
try_outgoing_connections();
/* Change process priority */ /* Change process priority */
@ -439,6 +432,10 @@ int main2(int argc, char **argv) {
/* Start main loop. It only exits when tinc is killed. */ /* Start main loop. It only exits when tinc is killed. */
logger(DEBUG_ALWAYS, LOG_NOTICE, "Ready");
try_outgoing_connections();
status = main_loop(); status = main_loop();
/* Shutdown properly. */ /* Shutdown properly. */
@ -446,12 +443,9 @@ int main2(int argc, char **argv) {
if(debug_level >= DEBUG_CONNECTIONS) if(debug_level >= DEBUG_CONNECTIONS)
devops.dump_stats(); devops.dump_stats();
end:
close_network_connections(); close_network_connections();
end:
exit_control();
end_nonet:
logger(DEBUG_ALWAYS, LOG_NOTICE, "Terminating"); logger(DEBUG_ALWAYS, LOG_NOTICE, "Terminating");
free(priority); free(priority);

127
test-driver Executable file
View file

@ -0,0 +1,127 @@
#! /bin/sh
# test-driver - basic testsuite driver script.
scriptversion=2012-06-27.10; # UTC
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <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>.
# Make unconditional expansion of undefined variables an error. This
# helps a lot in preventing typo-related bugs.
set -u
usage_error ()
{
echo "$0: $*" >&2
print_usage >&2
exit 2
}
print_usage ()
{
cat <<END
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
[--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}
# TODO: better error handling in option parsing (in particular, ensure
# TODO: $log_file, $trs_file and $test_name are defined).
test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
expect_failure=no
color_tests=no
enable_hard_errors=yes
while test $# -gt 0; do
case $1 in
--help) print_usage; exit $?;;
--version) echo "test-driver $scriptversion"; exit $?;;
--test-name) test_name=$2; shift;;
--log-file) log_file=$2; shift;;
--trs-file) trs_file=$2; shift;;
--color-tests) color_tests=$2; shift;;
--expect-failure) expect_failure=$2; shift;;
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
esac
shift
done
if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red.
grn='' # Green.
lgn='' # Light green.
blu='' # Blue.
mgn='' # Magenta.
std='' # No color.
else
red= grn= lgn= blu= mgn= std=
fi
do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
trap "st=129; $do_exit" 1
trap "st=130; $do_exit" 2
trap "st=141; $do_exit" 13
trap "st=143; $do_exit" 15
# Test script is run here.
"$@" >$log_file 2>&1
estatus=$?
if test $enable_hard_errors = no && test $estatus -eq 99; then
estatus=1
fi
case $estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
*:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac
# Report outcome to console.
echo "${col}${res}${std}: $test_name"
# Register the test result, and other relevant metadata.
echo ":test-result: $res" > $trs_file
echo ":global-test-result: $res" >> $trs_file
echo ":recheck: $recheck" >> $trs_file
echo ":copy-in-global-log: $gcopy" >> $trs_file
# 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:

23
test/Makefile.am Normal file
View file

@ -0,0 +1,23 @@
TESTS = \
basic.test \
commandline.test \
executables.test \
import-export.test \
invite-join.test \
ping.test \
sptps-basic.test \
variables.test
dist_check_SCRIPTS = $(TESTS)
EXTRA_DIST = testlib.sh
check_PROGRAMS = pong
pong_SOURCES = pong.c
clean-local:
-for pid in *.test.?/pid; do ../src/tinc --pidfile="$$pid" stop; done
-killall ../src/sptps_test
-killall pong
-rm -rf *.test.?

908
test/Makefile.in Normal file
View file

@ -0,0 +1,908 @@
# Makefile.in generated by automake 1.14 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@
check_PROGRAMS = pong$(EXEEXT)
subdir = test
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(dist_check_SCRIPTS) $(top_srcdir)/depcomp \
$(top_srcdir)/test-driver
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/attribute.m4 \
$(top_srcdir)/m4/curses.m4 $(top_srcdir)/m4/lzo.m4 \
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/readline.m4 \
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am_pong_OBJECTS = pong.$(OBJEXT)
pong_OBJECTS = $(am_pong_OBJECTS)
pong_LDADD = $(LDADD)
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 = $(pong_SOURCES)
DIST_SOURCES = $(pong_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
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
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
am__tty_colors = { \
$(am__tty_colors_dummy); \
if test "X$(AM_COLOR_TESTS)" = Xno; then \
am__color_tests=no; \
elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
am__color_tests=yes; \
elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
am__color_tests=yes; \
fi; \
if test $$am__color_tests = yes; then \
red=''; \
grn=''; \
lgn=''; \
blu=''; \
mgn=''; \
brg=''; \
std=''; \
fi; \
}
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__recheck_rx = ^[ ]*:recheck:[ ]*
am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
# A command that, given a newline-separated list of test names on the
# standard input, print the name of the tests that are to be re-run
# upon "make recheck".
am__list_recheck_tests = $(AWK) '{ \
recheck = 1; \
while ((rc = (getline line < ($$0 ".trs"))) != 0) \
{ \
if (rc < 0) \
{ \
if ((getline line2 < ($$0 ".log")) < 0) \
recheck = 0; \
break; \
} \
else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
{ \
recheck = 0; \
break; \
} \
else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
{ \
break; \
} \
}; \
if (recheck) \
print $$0; \
close ($$0 ".trs"); \
close ($$0 ".log"); \
}'
# A command that, given a newline-separated list of test names on the
# standard input, create the global log from their .trs and .log files.
am__create_global_log = $(AWK) ' \
function fatal(msg) \
{ \
print "fatal: making $@: " msg | "cat >&2"; \
exit 1; \
} \
function rst_section(header) \
{ \
print header; \
len = length(header); \
for (i = 1; i <= len; i = i + 1) \
printf "="; \
printf "\n\n"; \
} \
{ \
copy_in_global_log = 1; \
global_test_result = "RUN"; \
while ((rc = (getline line < ($$0 ".trs"))) != 0) \
{ \
if (rc < 0) \
fatal("failed to read from " $$0 ".trs"); \
if (line ~ /$(am__global_test_result_rx)/) \
{ \
sub("$(am__global_test_result_rx)", "", line); \
sub("[ ]*$$", "", line); \
global_test_result = line; \
} \
else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
copy_in_global_log = 0; \
}; \
if (copy_in_global_log) \
{ \
rst_section(global_test_result ": " $$0); \
while ((rc = (getline line < ($$0 ".log"))) != 0) \
{ \
if (rc < 0) \
fatal("failed to read from " $$0 ".log"); \
print line; \
}; \
printf "\n"; \
}; \
close ($$0 ".trs"); \
close ($$0 ".log"); \
}'
# Restructured Text title.
am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
# Solaris 10 'make', and several other traditional 'make' implementations,
# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
# Default flags passed to test drivers.
am__common_driver_flags = \
--color-tests "$$am__color_tests" \
--enable-hard-errors "$$am__enable_hard_errors" \
--expect-failure "$$am__expect_failure"
# To be inserted before the command running the test. Creates the
# directory for the log if needed. Stores in $dir the directory
# containing $f, in $tst the test, in $log the log. Executes the
# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
# will run the test scripts (or their associated LOG_COMPILER, if
# thy have one).
am__check_pre = \
$(am__sh_e_setup); \
$(am__vpath_adj_setup) $(am__vpath_adj) \
$(am__tty_colors); \
srcdir=$(srcdir); export srcdir; \
case "$@" in \
*/*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
*) am__odir=.;; \
esac; \
test "x$$am__odir" = x"." || test -d "$$am__odir" \
|| $(MKDIR_P) "$$am__odir" || exit $$?; \
if test -f "./$$f"; then dir=./; \
elif test -f "$$f"; then dir=; \
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; \
if test -n '$(DISABLE_HARD_ERRORS)'; then \
am__enable_hard_errors=no; \
else \
am__enable_hard_errors=yes; \
fi; \
case " $(XFAIL_TESTS) " in \
*[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
am__expect_failure=yes;; \
*) \
am__expect_failure=no;; \
esac; \
$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
# A shell command to get the names of the tests scripts with any registered
# extension removed (i.e., equivalently, the names of the test logs, with
# the '.log' extension removed). The result is saved in the shell variable
# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
# since that might cause problem with VPATH rewrites for suffix-less tests.
# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
am__set_TESTS_bases = \
bases='$(TEST_LOGS)'; \
bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
bases=`echo $$bases`
RECHECK_LOGS = $(TEST_LOGS)
AM_RECURSIVE_TARGETS = check recheck
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
am__test_logs1 = $(TESTS:=.log)
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
am__set_b = \
case '$@' in \
*/*) \
case '$*' in \
*/*) b='$*';; \
*) b=`echo '$@' | sed 's/\.log$$//'`; \
esac;; \
*) \
b='$*';; \
esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
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@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
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@
READLINE_LIBS = @READLINE_LIBS@
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@
TESTS = \
basic.test \
commandline.test \
executables.test \
import-export.test \
invite-join.test \
ping.test \
sptps-basic.test \
variables.test
dist_check_SCRIPTS = $(TESTS)
EXTRA_DIST = testlib.sh
pong_SOURCES = pong.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu test/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
clean-checkPROGRAMS:
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
pong$(EXEEXT): $(pong_OBJECTS) $(pong_DEPENDENCIES) $(EXTRA_pong_DEPENDENCIES)
@rm -f pong$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pong_OBJECTS) $(pong_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pong.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@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@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@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@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(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
# Recover from deleted '.trs' file; this should ensure that
# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
# to avoid problems with "make -n".
.log.trs:
rm -f $< $@
$(MAKE) $(AM_MAKEFLAGS) $<
# Leading 'am--fnord' is there to ensure the list of targets does not
# expand to empty, as could happen e.g. with make check TESTS=''.
am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
am--force-recheck:
@:
$(TEST_SUITE_LOG): $(TEST_LOGS)
@$(am__set_TESTS_bases); \
am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
redo_bases=`for i in $$bases; do \
am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
done`; \
if test -n "$$redo_bases"; then \
redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
if $(am__make_dryrun); then :; else \
rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
fi; \
fi; \
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
else \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
st=0; \
errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
for i in $$redo_bases; do \
test -f $$i.trs && test -r $$i.trs \
|| { echo "$$errmsg $$i.trs" >&2; st=1; }; \
test -f $$i.log && test -r $$i.log \
|| { echo "$$errmsg $$i.log" >&2; st=1; }; \
done; \
test $$st -eq 0 || exit 1; \
fi
@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
ws='[ ]'; \
results=`for b in $$bases; do echo $$b.trs; done`; \
test -n "$$results" || results=/dev/null; \
all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
if test `expr $$fail + $$xpass + $$error` -eq 0; then \
success=true; \
else \
success=false; \
fi; \
br='==================='; br=$$br$$br$$br$$br; \
result_count () \
{ \
if test x"$$1" = x"--maybe-color"; then \
maybe_colorize=yes; \
elif test x"$$1" = x"--no-color"; then \
maybe_colorize=no; \
else \
echo "$@: invalid 'result_count' usage" >&2; exit 4; \
fi; \
shift; \
desc=$$1 count=$$2; \
if test $$maybe_colorize = yes && test $$count -gt 0; then \
color_start=$$3 color_end=$$std; \
else \
color_start= color_end=; \
fi; \
echo "$${color_start}# $$desc $$count$${color_end}"; \
}; \
create_testsuite_report () \
{ \
result_count $$1 "TOTAL:" $$all "$$brg"; \
result_count $$1 "PASS: " $$pass "$$grn"; \
result_count $$1 "SKIP: " $$skip "$$blu"; \
result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
result_count $$1 "FAIL: " $$fail "$$red"; \
result_count $$1 "XPASS:" $$xpass "$$red"; \
result_count $$1 "ERROR:" $$error "$$mgn"; \
}; \
{ \
echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
$(am__rst_title); \
create_testsuite_report --no-color; \
echo; \
echo ".. contents:: :depth: 2"; \
echo; \
for b in $$bases; do echo $$b; done \
| $(am__create_global_log); \
} >$(TEST_SUITE_LOG).tmp || exit 1; \
mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
if $$success; then \
col="$$grn"; \
else \
col="$$red"; \
test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
fi; \
echo "$${col}$$br$${std}"; \
echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
echo "$${col}$$br$${std}"; \
create_testsuite_report --maybe-color; \
echo "$$col$$br$$std"; \
if $$success; then :; else \
echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
if test -n "$(PACKAGE_BUGREPORT)"; then \
echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
fi; \
echo "$$col$$br$$std"; \
fi; \
$$success || exit 1
check-TESTS:
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@set +e; $(am__set_TESTS_bases); \
log_list=`for i in $$bases; do echo $$i.log; done`; \
trs_list=`for i in $$bases; do echo $$i.trs; done`; \
log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
exit $$?;
recheck: all $(check_PROGRAMS) $(dist_check_SCRIPTS)
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@set +e; $(am__set_TESTS_bases); \
bases=`for i in $$bases; do echo $$i; done \
| $(am__list_recheck_tests)` || exit 1; \
log_list=`for i in $$bases; do echo $$i.log; done`; \
log_list=`echo $$log_list`; \
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
am__force_recheck=am--force-recheck \
TEST_LOGS="$$log_list"; \
exit $$?
.test.log:
@p='$<'; \
$(am__set_b); \
$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
@am__EXEEXT_TRUE@.test$(EXEEXT).log:
@am__EXEEXT_TRUE@ @p='$<'; \
@am__EXEEXT_TRUE@ $(am__set_b); \
@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
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
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) \
$(dist_check_SCRIPTS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
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:
-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
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-checkPROGRAMS clean-generic clean-local mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
clean-checkPROGRAMS clean-generic clean-local 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 \
recheck tags tags-am uninstall uninstall-am
clean-local:
-for pid in *.test.?/pid; do ../src/tinc --pidfile="$$pid" stop; done
-killall ../src/sptps_test
-killall pong
-rm -rf *.test.?
# 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:

20
test/basic.test Executable file
View file

@ -0,0 +1,20 @@
#!/bin/sh
. ./testlib.sh
# Initialize and test one node
$tinc $c1 init foo
$tinc $c1 set DeviceType dummy
$tinc $c1 set Port 0
# Test running in the foreground
(sleep 1; $tinc $c1 stop) &
$tinc $c1 start $r1 -D
# Test running tinc in the background
$tinc $c1 start $r1
sleep 1
$tinc $c1 stop

49
test/commandline.test Executable file
View file

@ -0,0 +1,49 @@
#!/bin/sh
. ./testlib.sh
# Initialize one node
$tinc $c1 <<EOF
init foo
set DeviceType dummy
set Port 0
EOF
cat >$d1/tinc-up <<EOF
#!/bin/sh
read pid rest <$d1/pid
(sleep 0.1; kill \$pid) &
EOF
# Test tincd command line options that should work
$tincd $c1 $r1 -D
$tincd $c1 $r1 --no-detach
$tincd $c1 $r1 -D -d
$tincd $c1 $r1 -D -d2
$tincd $c1 $r1 -D -d 2
$tincd $c1 $r1 -D -n foo
$tincd $c1 $r1 -D -nfoo
$tincd $c1 $r1 -D --net=foo
$tincd $c1 $r1 -D --net foo
# Test tincd command line options that should not work
$tincd $c1 $r1 foo && exit 1 || true
$tincd $c1 $r1 --pidfile && exit 1 || true
$tincd $c1 $r1 --foo && exit 1 || true
# Test tinc command line options that should work
$tinc $c1 get name
$tinc $c1 -n foo get name
$tinc $c1 -nfoo get name
$tinc $c1 --net=foo get name
$tinc $c1 --net foo get name
# Test tinc command line options that should not work
$tinc $c1 --net && exit 1 || true
$tinc $c1 --net get name && exit 1 || true
$tinc $c1 foo && exit 1 || true

8
test/executables.test Executable file
View file

@ -0,0 +1,8 @@
#!/bin/sh
. ./testlib.sh
# Just test whether the executables work
$tincd --help
$tinc --help
$sptps_test --help

64
test/import-export.test Executable file
View file

@ -0,0 +1,64 @@
#!/bin/sh
. ./testlib.sh
# Initialize three nodes
$tinc $c1 <<EOF
init foo
set DeviceType dummy
set Port 32752
set Address localhost
EOF
$tinc $c2 <<EOF
init bar
set DeviceType dummy
set Port 0
EOF
$tinc $c3 <<EOF
init baz
set DeviceType dummy
set Port 0
EOF
# Test import, export and exchange commands
$tinc $c1 export | $tinc $c2 exchange | $tinc $c1 import
# Test export-all and exchange-all
$tinc $c1 export-all | $tinc $c3 exchange | $tinc $c1 import
$tinc $c1 exchange-all </dev/null | $tinc $c2 import
# Test equivalence of host config files
cmp $d1/hosts/foo $d2/hosts/foo
cmp $d1/hosts/foo $d3/hosts/foo
cmp $d1/hosts/bar $d2/hosts/bar
cmp $d1/hosts/bar $d3/hosts/bar
cmp $d1/hosts/baz $d2/hosts/baz
cmp $d1/hosts/baz $d3/hosts/baz
# Check whether the nodes can connect to each other
$tinc $c1 start $r1
$tinc $c2 add ConnectTo foo
$tinc $c3 add ConnectTo foo
sleep 1
$tinc $c2 start $r2
$tinc $c3 start $r3
sleep 1
test `$tinc $c1 dump reachable nodes | wc -l` = 3
test `$tinc $c2 dump reachable nodes | wc -l` = 3
test `$tinc $c3 dump reachable nodes | wc -l` = 3
$tinc $c3 stop
$tinc $c2 stop
$tinc $c1 stop

49
test/invite-join.test Executable file
View file

@ -0,0 +1,49 @@
#!/bin/sh
. ./testlib.sh
# Initialize one node
$tinc $c1 <<EOF
init foo
set DeviceType dummy
set Mode switch
set Broadcast no
del Port
set Address localhost
set Port 32751
start $r1
EOF
# Generate an invitation and let another node join the VPN
sleep 1
$tinc $c1 invite bar | $tinc $c2 join
# Test equivalence of host config files
cmp $d1/hosts/foo $d2/hosts/foo
test "`grep ^ECDSAPublicKey $d1/hosts/bar`" = "`grep ^ECDSAPublicKey $d2/hosts/bar`"
# Test Mode, Broadcast and ConnectTo statements
test `$tinc $c2 get Mode` = switch
test `$tinc $c2 get Broadcast` = no
test `$tinc $c2 get ConnectTo` = foo
# Check whether the new node can join the VPN
$tinc $c2 << EOF
set DeviceType dummy
set Port 0
start $r2
EOF
sleep 1
test `$tinc $c1 dump reachable nodes | wc -l` = 2
test `$tinc $c2 dump reachable nodes | wc -l` = 2
$tinc $c2 stop
$tinc $c1 stop

58
test/ping.test Executable file
View file

@ -0,0 +1,58 @@
#!/bin/sh
. ./testlib.sh
# Skip this test if we aren't root
test "`id -u`" = "0" || exit 77
# Initialize two nodes
$tinc $c1 <<EOF
init foo
set Mode switch
set Interface ping.test
set Port 32573
set Address localhost
EOF
cat >$d1/tinc-up <<EOF
#!/bin/sh
ifconfig \$INTERFACE up
EOF
$tinc $c2 <<EOF
init bar
set Mode switch
set DeviceType multicast
set Device 233.252.0.1 32754
add ConnectTo foo
EOF
# Exchange configuration files
$tinc $c1 export | $tinc $c2 exchange | $tinc $c1 import
# Ensure we have a working multicast route
ip route replace 233.252.0.0/16 dev lo
# Start pong program in background
./pong 233.252.0.1 32754 10.6.5.5 &
pong=$!
# Start tinc and try to ping
$tinc $c1 start $r1
$tinc $c2 start $r2
sleep 1
ping -r -I ping.test -c3 10.6.5.5
# Clean up
kill $pong
$tinc $c2 stop
$tinc $c1 stop

194
test/pong.c Normal file
View file

@ -0,0 +1,194 @@
/*
pong.c -- ICMP echo reply generator
Copyright (C) 2013 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "../src/system.h"
uint8_t mymac[6] = {6, 5, 5, 6, 5, 5};
static ssize_t do_arp(uint8_t *buf, ssize_t len, struct sockaddr_in *in) {
struct ether_arp arp;
memcpy(&arp, buf + 14, sizeof arp);
// Is it a valid ARP request?
if(ntohs(arp.arp_hrd) != ARPHRD_ETHER || ntohs(arp.arp_pro) != ETH_P_IP || arp.arp_hln != ETH_ALEN || arp.arp_pln != sizeof in->sin_addr.s_addr || ntohs(arp.arp_op) != ARPOP_REQUEST)
return 0;
// Does it match our address?
if(memcmp(&in->sin_addr.s_addr, arp.arp_tpa, 4))
return 0;
// Swap addresses
memcpy(buf, buf + 6, 6);
memcpy(buf + 6, mymac, 6);
arp.arp_op = htons(ARPOP_REPLY);
memcpy(arp.arp_tpa, arp.arp_spa, sizeof arp.arp_tpa);
memcpy(arp.arp_tha, arp.arp_sha, sizeof arp.arp_tha);
memcpy(arp.arp_spa, &in->sin_addr.s_addr, sizeof in->sin_addr.s_addr);
memcpy(arp.arp_sha, mymac, 6);
memcpy(buf + 14, &arp, sizeof arp);
return len;
}
static ssize_t do_ipv4(uint8_t *buf, ssize_t len, struct sockaddr_in *in) {
struct ip ip;
struct icmp icmp;
// Does it match our address?
if(memcmp(buf, mymac, 6))
return 0;
memcpy(&ip, buf + 14, sizeof ip);
if(memcmp(&ip.ip_dst, &in->sin_addr.s_addr, 4))
return 0;
// Is it an ICMP echo request?
if(ip.ip_p != IPPROTO_ICMP)
return 0;
memcpy(&icmp, buf + 14 + sizeof ip, sizeof icmp);
if(icmp.icmp_type != ICMP_ECHO)
return 0;
// Return an echo reply
memcpy(buf, buf + 6, 6);
memcpy(buf + 6, mymac, 6);
ip.ip_dst = ip.ip_src;
memcpy(&ip.ip_src, &in->sin_addr.s_addr, 4);
icmp.icmp_type = ICMP_ECHOREPLY;
memcpy(buf + 14, &ip, sizeof ip);
memcpy(buf + 14 + sizeof ip, &icmp, sizeof icmp);
return len;
}
static ssize_t do_ipv6(uint8_t *buf, ssize_t len, struct sockaddr_in6 *in) {
return 0;
}
int main(int argc, char *argv[]) {
if(argc != 4) {
fprintf(stderr, "Usage: %s <multicast address> <port> <ping address>\n", argv[0]);
return 1;
}
struct addrinfo hints = {}, *ai = NULL;
hints.ai_socktype = SOCK_DGRAM;
hints.ai_flags = AI_ADDRCONFIG;
errno = ENOENT;
if(getaddrinfo(argv[1], argv[2], &hints, &ai) || !ai) {
fprintf(stderr, "Could not resolve %s port %s: %s\n", argv[1], argv[2], strerror(errno));
return 1;
}
int fd;
fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if(!fd) {
fprintf(stderr, "Could not create socket: %s\n", strerror(errno));
return 1;
}
static const int one = 1;
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof one);
if(bind(fd, ai->ai_addr, ai->ai_addrlen)) {
fprintf(stderr, "Could not bind socket: %s\n", strerror(errno));
return 1;
}
switch(ai->ai_family) {
case AF_INET: {
struct ip_mreq mreq;
struct sockaddr_in in;
memcpy(&in, ai->ai_addr, sizeof in);
mreq.imr_multiaddr.s_addr = in.sin_addr.s_addr;
mreq.imr_interface.s_addr = htonl(INADDR_ANY);
if(setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void *)&mreq, sizeof mreq)) {
fprintf(stderr, "Cannot join multicast group: %s\n", strerror(errno));
return 1;
}
#ifdef IP_MULTICAST_LOOP
setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, (const void *)&one, sizeof one);
#endif
} break;
#ifdef IPV6_JOIN_GROUP
case AF_INET6: {
struct ipv6_mreq mreq;
struct sockaddr_in6 in6;
memcpy(&in6, ai->ai_addr, sizeof in6);
memcpy(&mreq.ipv6mr_multiaddr, &in6.sin6_addr, sizeof mreq.ipv6mr_multiaddr);
mreq.ipv6mr_interface = in6.sin6_scope_id;
if(setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, (void *)&mreq, sizeof mreq)) {
fprintf(stderr, "Cannot join multicast group: %s\n", strerror(errno));
return 1;
}
#ifdef IPV6_MULTICAST_LOOP
setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (const void *)&one, sizeof one);
#endif
} break;
#endif
default:
fprintf(stderr, "Multicast for address family %hx unsupported\n", ai->ai_family);
return 1;
}
errno = ENOENT;
struct addrinfo *ai2 = NULL;
if(getaddrinfo(argv[3], NULL, &hints, &ai2) || !ai2) {
fprintf(stderr, "Could not resolve %s: %s\n", argv[3], strerror(errno));
return 1;
}
while(true) {
uint8_t buf[10000];
struct sockaddr src;
socklen_t srclen;
ssize_t len = recvfrom(fd, buf, sizeof buf, 0, &src, &srclen);
if(len <= 0)
break;
// Ignore short packets.
if(len < 14)
continue;
uint16_t type = buf[12] << 8 | buf[13];
if(ai2->ai_family == AF_INET && type == ETH_P_IP)
len = do_ipv4(buf, len, (struct sockaddr_in *)ai2->ai_addr);
else if(ai2->ai_family == AF_INET && type == ETH_P_ARP)
len = do_arp(buf, len, (struct sockaddr_in *)ai2->ai_addr);
else if(ai2->ai_family == AF_INET6 && type == ETH_P_IPV6)
len = do_ipv6(buf, len, (struct sockaddr_in6 *)ai2->ai_addr);
else
continue;
if(len > 0)
sendto(fd, buf, len, 0, ai->ai_addr, ai->ai_addrlen);
}
return 0;
}

32
test/sptps-basic.test Executable file
View file

@ -0,0 +1,32 @@
#!/bin/sh
. ./testlib.sh
# Generate keys
mkdir -p $d1
openssl ecparam -genkey -name secp521r1 -noout -out $d1/server.priv
openssl ecparam -genkey -name secp521r1 -noout -out $d1/client.priv
yes '' | openssl req -new -pubkey -key $d1/server.priv -noout -out $d1/server.pub
echo
yes '' | openssl req -new -pubkey -key $d1/client.priv -noout -out $d1/client.pub
echo
# Test transfer of a simple file.
(sleep 1; $sptps_test -q $d1/client.priv $d1/server.pub localhost 32750 <../README) &
$sptps_test $d1/server.priv $d1/client.pub 32750 >$d1/out1
cmp $d1/out1 ../README
$sptps_test -q $d1/server.priv $d1/client.pub 32750 <../NEWS &
sleep 1
$sptps_test $d1/client.priv $d1/server.pub localhost 32750 > $d1/out2
cmp $d1/out2 ../NEWS
# Datagram mode
$sptps_test -dq $d1/server.priv $d1/client.pub 32750 <../COPYING &
sleep 1
sleep 1 | $sptps_test -dq $d1/client.priv $d1/server.pub localhost 32750 >$d1/out3
cmp $d1/out3 ../COPYING

48
test/testlib.sh Normal file
View file

@ -0,0 +1,48 @@
#!/bin/sh
# Paths to executables
tincd=../src/tincd
tinc=../src/tinc
sptps_test=../src/sptps_test
# Test directories
case "$_" in
/*)
d1=$_.1
d2=$_.2
d3=$_.3
;;
*)
d1=$PWD/$_.1
d2=$PWD/$_.2
d3=$PWD/$_.3
;;
esac
# Default arguments for both tinc and tincd
c1="--config=$d1 --pidfile=$d1/pid"
c2="--config=$d2 --pidfile=$d2/pid"
c3="--config=$d3 --pidfile=$d3/pid"
# Arguments when running tincd
r1="--logfile=$d1/log -d5"
r2="--logfile=$d2/log -d5"
r3="--logfile=$d3/log -d5"
# Check for leftover tinc daemons
[ -f $d1/pid ] && $tinc $c1 stop
[ -f $d2/pid ] && $tinc $c2 stop
[ -f $d3/pid ] && $tinc $c3 stop
# Remove test directories
rm -rf $d1 $d2 $d3
# Exit on errors, log all commands being executed
set -ex

88
test/variables.test Executable file
View file

@ -0,0 +1,88 @@
#!/bin/sh
. ./testlib.sh
# Initialize one node
$tinc $c1 init foo
test "`$tinc $c1 get Name`" = "foo"
# Test case sensitivity
$tinc $c1 set Mode switch
test "`$tinc $c1 get Mode`" = "switch"
test "`$tinc $c1 get mode`" = "switch"
$tinc $c1 set mode router
test "`$tinc $c1 get Mode`" = "router"
test "`$tinc $c1 get mode`" = "router"
$tinc $c1 set Mode Switch
test "`$tinc $c1 get Mode`" = "Switch"
# Test deletion
$tinc $c1 del Mode hub && exit 1 || true
$tinc $c1 del Mode switch
test -z "`$tinc $c1 get Mode`"
# There can only be one Mode variable
$tinc $c1 add Mode switch
$tinc $c1 add Mode hub
test "`$tinc $c1 get Mode`" = "hub"
# Test addition/deletion of multivalued variables
$tinc $c1 add Subnet 1
$tinc $c1 add Subnet 2
$tinc $c1 add Subnet 2
$tinc $c1 add Subnet 3
test "`$tinc $c1 get Subnet`" = "1
2
2
3"
$tinc $c1 del Subnet 2
test "`$tinc $c1 get Subnet`" = "1
3"
$tinc $c1 del Subnet
test -z "`$tinc $c1 get Subnet`"
# We should not be able to get/set server variables using node.variable syntax
test -z "`$tinc $c1 get foo.Name`"
$tinc $c1 set foo.Name bar && exit 1 || true
# Test getting/setting host variables for other nodes
touch $d1/hosts/bar
$tinc $c1 add bar.PMTU 1
$tinc $c1 add bar.PMTU 2
test "`$tinc $c1 get bar.PMTU`" = "2"
$tinc $c1 add bar.Subnet 1
$tinc $c1 add bar.Subnet 2
$tinc $c1 add bar.Subnet 2
$tinc $c1 add bar.Subnet 3
test "`$tinc $c1 get bar.Subnet`" = "1
2
2
3"
$tinc $c1 del bar.Subnet 2
test "`$tinc $c1 get bar.Subnet`" = "1
3"
$tinc $c1 del bar.Subnet
test -z "`$tinc $c1 get bar.Subnet`"
# We should not be able to get/set for nodes with invalid names
touch $d1/hosts/qu-ux
$tinc $c1 set qu-ux.Subnet 1 && exit 1 || true
# We should not be able to set obsolete variables unless forced
$tinc $c1 set PrivateKey 12345 && exit 1 || true
$tinc $c1 --force set PrivateKey 12345
test "`$tinc $c1 get PrivateKey`" = "12345"
$tinc $c1 del PrivateKey
test -z "`$tinc $c1 get PrivateKey`"