Import Upstream version 1.0.5
This commit is contained in:
parent
392ff555ea
commit
a18165833b
90 changed files with 7610 additions and 5088 deletions
2
AUTHORS
2
AUTHORS
|
@ -1,6 +1,6 @@
|
|||
Main tinc authors:
|
||||
Guus Sliepen <guus@tinc-vpn.org>
|
||||
Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Ivo Timmermans (inactive)
|
||||
|
||||
These files are from other sources:
|
||||
* lib/pidfile.h and lib/pidfile.c are by Martin Schulze, taken from
|
||||
|
|
4
COPYING
4
COPYING
|
@ -2,7 +2,7 @@
|
|||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
|
||||
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
|
176
ChangeLog
176
ChangeLog
|
@ -1,3 +1,179 @@
|
|||
------------------------------------------------------------------------
|
||||
r1471 | guus | 2006-11-14 13:28:04 +0100 (di, 14 nov 2006) | 2 lines
|
||||
|
||||
EWOULDBLOCK does not exist on platforms without O_NONBLOCK
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1470 | guus | 2006-11-11 23:45:45 +0100 (za, 11 nov 2006) | 2 lines
|
||||
|
||||
When deleting an entire tree, start at head, not at root.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1469 | guus | 2006-11-11 23:44:15 +0100 (za, 11 nov 2006) | 1 line
|
||||
|
||||
Nodes use events, so event system should be initialised first and destroyed last.
|
||||
------------------------------------------------------------------------
|
||||
r1468 | guus | 2006-11-11 22:37:22 +0100 (za, 11 nov 2006) | 2 lines
|
||||
|
||||
Update Dutch translation.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1467 | guus | 2006-11-11 21:37:58 +0100 (za, 11 nov 2006) | 2 lines
|
||||
|
||||
Document GraphDumpFile option.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1466 | guus | 2006-11-11 21:10:46 +0100 (za, 11 nov 2006) | 2 lines
|
||||
|
||||
Support and autodetect LZO version 2.0 and later.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1465 | guus | 2006-11-11 21:06:14 +0100 (za, 11 nov 2006) | 2 lines
|
||||
|
||||
Support and autodetect LZO version 2.0 and later.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1464 | guus | 2006-11-11 15:37:03 +0100 (za, 11 nov 2006) | 2 lines
|
||||
|
||||
popen() requires pclose().
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1463 | guus | 2006-11-11 15:11:16 +0100 (za, 11 nov 2006) | 2 lines
|
||||
|
||||
Added graph dumping ability based on Markus Goetz's patch.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1462 | guus | 2006-11-11 14:43:00 +0100 (za, 11 nov 2006) | 2 lines
|
||||
|
||||
The "active" bit in node.status is not used.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1461 | guus | 2006-08-10 00:31:10 +0200 (do, 10 aug 2006) | 3 lines
|
||||
|
||||
memcpy() addresses from packet headers before calling the lookup functions.
|
||||
This probably fixes a problem on the ARM architecture that causes tinc to fail to lookup IPv4 addresses.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1460 | guus | 2006-08-08 15:50:58 +0200 (di, 08 aug 2006) | 2 lines
|
||||
|
||||
Remove unused variable.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1459 | guus | 2006-08-08 15:44:37 +0200 (di, 08 aug 2006) | 2 lines
|
||||
|
||||
Remove unused parameter from maskcmp().
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1458 | guus | 2006-08-08 15:44:19 +0200 (di, 08 aug 2006) | 2 lines
|
||||
|
||||
Remove unused variables.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1457 | guus | 2006-08-08 15:29:17 +0200 (di, 08 aug 2006) | 2 lines
|
||||
|
||||
Fix format string warnings.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1456 | guus | 2006-08-08 15:21:08 +0200 (di, 08 aug 2006) | 2 lines
|
||||
|
||||
Do not break strict aliasing of status_t structs.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1455 | guus | 2006-06-12 23:45:39 +0200 (ma, 12 jun 2006) | 3 lines
|
||||
|
||||
Add generic host-up and host-down scripts.
|
||||
Thanks to Menno Smits for a patch.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1454 | guus | 2006-06-11 20:53:27 +0200 (zo, 11 jun 2006) | 3 lines
|
||||
|
||||
Use memcpy() to copy sockaddrs returned by getaddrinfo().
|
||||
Thanks to Miles Nordin for spotting this.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1453 | guus | 2006-04-26 18:29:47 +0200 (wo, 26 apr 2006) | 2 lines
|
||||
|
||||
Restore length of the original packet in send_udppacket().
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1452 | guus | 2006-04-26 15:52:58 +0200 (wo, 26 apr 2006) | 2 lines
|
||||
|
||||
Update copyright notices, remove Ivo's email address.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1451 | guus | 2006-04-12 10:38:35 +0200 (wo, 12 apr 2006) | 3 lines
|
||||
|
||||
Fix a bug in handling prefixlengths that are not a multiple of 4.
|
||||
Thanks to Sven-Haegar Koch for spotting the bug and providing the fix.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1450 | guus | 2006-03-19 14:06:21 +0100 (zo, 19 mrt 2006) | 2 lines
|
||||
|
||||
Fix signedness compiler warnings.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1449 | guus | 2006-03-19 13:43:45 +0100 (zo, 19 mrt 2006) | 2 lines
|
||||
|
||||
Export flush_meta().
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1448 | guus | 2006-03-19 13:43:28 +0100 (zo, 19 mrt 2006) | 2 lines
|
||||
|
||||
Missing #include.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1447 | guus | 2006-02-06 13:30:51 +0100 (ma, 06 feb 2006) | 2 lines
|
||||
|
||||
Make sure $NAME is set correctly when executing tinc-down script.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1446 | guus | 2006-01-19 18:13:18 +0100 (do, 19 jan 2006) | 4 lines
|
||||
|
||||
Apply patch from Scott Lamb adding an output buffer for the TCP sockets.
|
||||
This helps coalescing multiple send_meta() commands into one TCP packet.
|
||||
Also limit the size of the output buffer before dropping PACKETs.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1445 | guus | 2006-01-13 12:21:59 +0100 (vr, 13 jan 2006) | 2 lines
|
||||
|
||||
Apply patch from Scott Lamb unifying configuration of TCP socket options.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1444 | guus | 2006-01-13 12:09:19 +0100 (vr, 13 jan 2006) | 2 lines
|
||||
|
||||
EVP_Cleanup() when quitting.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1443 | guus | 2005-11-16 11:45:11 +0100 (wo, 16 nov 2005) | 2 lines
|
||||
|
||||
Enable OpenSSL ENGINE, so crypto hardware gets used. Thanks to Andreas van Cranenburgh.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1442 | guus | 2005-06-03 12:56:02 +0200 (vr, 03 jun 2005) | 2 lines
|
||||
|
||||
Add alloca.h to the list of necessary header files.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1441 | guus | 2005-06-03 12:16:03 +0200 (vr, 03 jun 2005) | 3 lines
|
||||
|
||||
Prevent possible buffer overflows when using very large (>= 8192 bit) RSA keys.
|
||||
Thanks to Tonnerre Lombard for noticing!
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1440 | guus | 2005-05-04 21:38:28 +0200 (wo, 04 mei 2005) | 2 lines
|
||||
|
||||
Releasing 1.0.4.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1439 | guus | 2005-05-04 20:09:30 +0200 (wo, 04 mei 2005) | 2 lines
|
||||
|
||||
Update copyright notices.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1438 | guus | 2005-05-04 18:53:11 +0200 (wo, 04 mei 2005) | 2 lines
|
||||
|
||||
Describe subnet-up/down scripts in documentation.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1437 | guus | 2005-05-04 17:56:25 +0200 (wo, 04 mei 2005) | 2 lines
|
||||
|
||||
|
|
16
INSTALL
16
INSTALL
|
@ -102,16 +102,16 @@ for another architecture.
|
|||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the package's files in
|
||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure' the
|
||||
option `--prefix=PREFIX'.
|
||||
By default, `make install' installs the package's commands under
|
||||
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
||||
can specify an installation prefix other than `/usr/local' by giving
|
||||
`configure' the option `--prefix=PREFIX'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
give `configure' the option `--exec-prefix=PREFIX', the package will
|
||||
use PREFIX as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
||||
PREFIX as the prefix for installing programs and libraries.
|
||||
Documentation and other data files still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=DIR' to specify different values for particular
|
||||
|
@ -159,7 +159,7 @@ where SYSTEM can have one of these forms:
|
|||
need to know the machine type.
|
||||
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
use the option `--target=TYPE' to select the type of system they will
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
|
|
27
Makefile.in
27
Makefile.in
|
@ -1,4 +1,4 @@
|
|||
# Makefile.in generated by automake 1.9.5 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -44,13 +44,14 @@ subdir = .
|
|||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal-include.m4 \
|
||||
$(top_srcdir)/m4/attribute.m4 $(top_srcdir)/m4/gettext.m4 \
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
|
||||
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
|
||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/malloc.m4 \
|
||||
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
|
||||
$(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/tuntap.m4 \
|
||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/isc-posix.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lzo.m4 \
|
||||
$(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
|
||||
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
|
||||
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
|
||||
$(top_srcdir)/m4/tuntap.m4 $(top_srcdir)/m4/zlib.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
|
@ -103,6 +104,7 @@ ECHO_T = @ECHO_T@
|
|||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GREP = @GREP@
|
||||
HAVE_TUNTAP = @HAVE_TUNTAP@
|
||||
INCLUDES = @INCLUDES@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
@ -144,8 +146,6 @@ USE_NLS = @USE_NLS@
|
|||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
|
@ -160,23 +160,30 @@ build_cpu = @build_cpu@
|
|||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
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@
|
||||
sysconfdir = @sysconfdir@
|
||||
|
|
13
NEWS
13
NEWS
|
@ -1,3 +1,16 @@
|
|||
version 1.0.5 Nov 14 2006
|
||||
|
||||
* Lots of small fixes.
|
||||
|
||||
* Broadcast packets no longer grow in size with each hop. This should
|
||||
fix switch mode (again).
|
||||
|
||||
* Generic host-up and host-down scripts.
|
||||
|
||||
* Optionally dump graph in graphviz format to a file or a script.
|
||||
|
||||
* Support LZO 2.0 and later.
|
||||
|
||||
version 1.0.4 May 4 2005
|
||||
|
||||
* Fix switch and hub modes.
|
||||
|
|
4
README
4
README
|
@ -1,9 +1,9 @@
|
|||
This is the README file for tinc version 1.0.4. Installation
|
||||
instructions may be found in the INSTALL file.
|
||||
|
||||
tinc is Copyright (C) 1998-2005 by:
|
||||
tinc is Copyright (C) 1998-2006 by:
|
||||
|
||||
Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
Ivo Timmermans,
|
||||
Guus Sliepen <guus@tinc-vpn.org>,
|
||||
and others.
|
||||
|
||||
|
|
10
THANKS
10
THANKS
|
@ -2,6 +2,7 @@ We would like to thank the following people for their contributions to tinc:
|
|||
|
||||
* Alexander Reil and Gemeinde Berg
|
||||
* Allesandro Gatti
|
||||
* Andreas van Cranenburgh
|
||||
* Armijn Hemel
|
||||
* Cris van Pelt
|
||||
* Enrique Zanardi
|
||||
|
@ -13,20 +14,25 @@ We would like to thank the following people for their contributions to tinc:
|
|||
* Jason Harper
|
||||
* Jeroen Ubbink
|
||||
* Jerome Etienne
|
||||
* Lubomír Bulej
|
||||
* Lubomír Bulej
|
||||
* Mads Kiilerich
|
||||
* Marc A. Lehmann
|
||||
* Mark Glines
|
||||
* Markus Goetz
|
||||
* Martin Kihlgren
|
||||
* Matias Carrasco
|
||||
* Miles Nordin
|
||||
* Nick Patavalis
|
||||
* Paul Littlefield
|
||||
* Robert van der Meulen
|
||||
* Scott Lamb
|
||||
* Sven-Haegar Koch
|
||||
* Teemu Kiviniemi
|
||||
* Tonnerre Lombard
|
||||
* Wessel Dankers
|
||||
* Wouter van Heyst
|
||||
|
||||
And everyone we forgot. Thank you guys!
|
||||
And everyone we forgot. Thank you!
|
||||
|
||||
Ivo Timmermans
|
||||
Guus Sliepen
|
||||
|
|
5
aclocal.m4
vendored
5
aclocal.m4
vendored
|
@ -1,4 +1,4 @@
|
|||
# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
|
||||
# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
# 2005 Free Software Foundation, Inc.
|
||||
|
@ -28,7 +28,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
|
|||
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
||||
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.9.5])])
|
||||
[AM_AUTOMAKE_VERSION([1.9.6])])
|
||||
|
||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||
|
||||
|
@ -881,6 +881,7 @@ m4_include([m4/aclocal-include.m4])
|
|||
m4_include([m4/attribute.m4])
|
||||
m4_include([m4/gettext.m4])
|
||||
m4_include([m4/iconv.m4])
|
||||
m4_include([m4/isc-posix.m4])
|
||||
m4_include([m4/lib-ld.m4])
|
||||
m4_include([m4/lib-link.m4])
|
||||
m4_include([m4/lib-prefix.m4])
|
||||
|
|
575
config.guess
vendored
575
config.guess
vendored
File diff suppressed because it is too large
Load diff
10
config.h.in
10
config.h.in
|
@ -113,6 +113,9 @@
|
|||
/* Define to 1 if you have the <lzo1x.h> header file. */
|
||||
#undef HAVE_LZO1X_H
|
||||
|
||||
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
|
||||
#undef HAVE_LZO_LZO1X_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
|
@ -176,6 +179,9 @@
|
|||
/* OpenBSD */
|
||||
#undef HAVE_OPENBSD
|
||||
|
||||
/* Define to 1 if you have the <openssl/engine.h> header file. */
|
||||
#undef HAVE_OPENSSL_ENGINE_H
|
||||
|
||||
/* Define to 1 if you have the <openssl/err.h> header file. */
|
||||
#undef HAVE_OPENSSL_ERR_H
|
||||
|
||||
|
@ -358,7 +364,7 @@
|
|||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
automatically deduced at runtime.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
|
@ -397,7 +403,7 @@
|
|||
/* Replacement realloc() */
|
||||
#undef realloc
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
||||
/* Define to empty if the keyword `volatile' does not work. Warning: valid
|
||||
|
|
121
config.sub
vendored
121
config.sub
vendored
|
@ -1,9 +1,10 @@
|
|||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
|
||||
# Inc.
|
||||
|
||||
timestamp='2005-04-22'
|
||||
timestamp='2006-09-20'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
|
@ -21,14 +22,15 @@ timestamp='2005-04-22'
|
|||
#
|
||||
# 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., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
#
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
|
||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||
# diff and a properly formatted ChangeLog entry.
|
||||
#
|
||||
|
@ -83,11 +85,11 @@ Try \`$me --help' for more information."
|
|||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
--time-stamp | --time* | -t )
|
||||
echo "$timestamp" ; exit 0 ;;
|
||||
echo "$timestamp" ; exit ;;
|
||||
--version | -v )
|
||||
echo "$version" ; exit 0 ;;
|
||||
echo "$version" ; exit ;;
|
||||
--help | --h* | -h )
|
||||
echo "$usage"; exit 0 ;;
|
||||
echo "$usage"; exit ;;
|
||||
-- ) # Stop option processing
|
||||
shift; break ;;
|
||||
- ) # Use stdin as input.
|
||||
|
@ -99,7 +101,7 @@ while test $# -gt 0 ; do
|
|||
*local*)
|
||||
# First pass through any local machine types.
|
||||
echo $1
|
||||
exit 0;;
|
||||
exit ;;
|
||||
|
||||
* )
|
||||
break ;;
|
||||
|
@ -118,8 +120,9 @@ esac
|
|||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
|
||||
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
||||
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
|
@ -170,6 +173,10 @@ case $os in
|
|||
-hiux*)
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
-sco6)
|
||||
os=-sco5v6
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco5)
|
||||
os=-sco3.2v5
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
|
@ -186,6 +193,10 @@ case $os in
|
|||
# Don't forget version if it is 3.2v4 or newer.
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco5v6*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco*)
|
||||
os=-sco3.2v2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
|
@ -230,7 +241,7 @@ case $basic_machine in
|
|||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||
| am33_2.0 \
|
||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
|
||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||
| bfin \
|
||||
| c4x | clipper \
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
|
@ -238,7 +249,8 @@ case $basic_machine in
|
|||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64el \
|
||||
|
@ -247,6 +259,7 @@ case $basic_machine in
|
|||
| mips64vr4100 | mips64vr4100el \
|
||||
| mips64vr4300 | mips64vr4300el \
|
||||
| mips64vr5000 | mips64vr5000el \
|
||||
| mips64vr5900 | mips64vr5900el \
|
||||
| mipsisa32 | mipsisa32el \
|
||||
| mipsisa32r2 | mipsisa32r2el \
|
||||
| mipsisa64 | mipsisa64el \
|
||||
|
@ -255,21 +268,24 @@ case $basic_machine in
|
|||
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||
| mipstx39 | mipstx39el \
|
||||
| mn10200 | mn10300 \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nios | nios2 \
|
||||
| ns16k | ns32k \
|
||||
| openrisc | or32 \
|
||||
| or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||
| pyramid \
|
||||
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh64 | sh64le \
|
||||
| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
|
||||
| sparcv8 | sparcv9 | sparcv9b \
|
||||
| strongarm \
|
||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||
| spu | strongarm \
|
||||
| tahoe | thumb | tic4x | tic80 | tron \
|
||||
| v850 | v850e \
|
||||
| we32k \
|
||||
| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||
| z8k)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
|
@ -280,6 +296,9 @@ case $basic_machine in
|
|||
;;
|
||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
|
||||
;;
|
||||
ms1)
|
||||
basic_machine=mt-unknown
|
||||
;;
|
||||
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
|
@ -299,7 +318,7 @@ case $basic_machine in
|
|||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||
| avr-* \
|
||||
| avr-* | avr32-* \
|
||||
| bfin-* | bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
||||
| clipper-* | craynv-* | cydra-* \
|
||||
|
@ -310,7 +329,7 @@ case $basic_machine in
|
|||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
| m32r-* | m32rle-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* \
|
||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||
|
@ -321,6 +340,7 @@ case $basic_machine in
|
|||
| mips64vr4100-* | mips64vr4100el-* \
|
||||
| mips64vr4300-* | mips64vr4300el-* \
|
||||
| mips64vr5000-* | mips64vr5000el-* \
|
||||
| mips64vr5900-* | mips64vr5900el-* \
|
||||
| mipsisa32-* | mipsisa32el-* \
|
||||
| mipsisa32r2-* | mipsisa32r2el-* \
|
||||
| mipsisa64-* | mipsisa64el-* \
|
||||
|
@ -329,24 +349,26 @@ case $basic_machine in
|
|||
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
||||
| mipstx39-* | mipstx39el-* \
|
||||
| mmix-* \
|
||||
| mt-* \
|
||||
| msp430-* \
|
||||
| nios-* | nios2-* \
|
||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||
| orion-* \
|
||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||
| pyramid-* \
|
||||
| romp-* | rs6000-* \
|
||||
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||
| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
|
||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||
| sparclite-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||
| tahoe-* | thumb-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||
| tron-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||
| xstormy16-* | xtensa-* \
|
||||
| ymp-* \
|
||||
| z8k-*)
|
||||
|
@ -686,6 +708,9 @@ case $basic_machine in
|
|||
basic_machine=i386-pc
|
||||
os=-msdos
|
||||
;;
|
||||
ms1-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
||||
;;
|
||||
mvs)
|
||||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
|
@ -761,9 +786,8 @@ case $basic_machine in
|
|||
basic_machine=hppa1.1-oki
|
||||
os=-proelf
|
||||
;;
|
||||
or32 | or32-*)
|
||||
openrisc | openrisc-*)
|
||||
basic_machine=or32-unknown
|
||||
os=-coff
|
||||
;;
|
||||
os400)
|
||||
basic_machine=powerpc-ibm
|
||||
|
@ -794,6 +818,12 @@ case $basic_machine in
|
|||
pc532 | pc532-*)
|
||||
basic_machine=ns32k-pc532
|
||||
;;
|
||||
pc98)
|
||||
basic_machine=i386-pc
|
||||
;;
|
||||
pc98-*)
|
||||
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentium | p5 | k5 | k6 | nexgen | viac3)
|
||||
basic_machine=i586-pc
|
||||
;;
|
||||
|
@ -850,6 +880,10 @@ case $basic_machine in
|
|||
basic_machine=i586-unknown
|
||||
os=-pw32
|
||||
;;
|
||||
rdos)
|
||||
basic_machine=i386-pc
|
||||
os=-rdos
|
||||
;;
|
||||
rom68k)
|
||||
basic_machine=m68k-rom68k
|
||||
os=-coff
|
||||
|
@ -876,6 +910,10 @@ case $basic_machine in
|
|||
sb1el)
|
||||
basic_machine=mipsisa64sb1el-unknown
|
||||
;;
|
||||
sde)
|
||||
basic_machine=mipsisa32-sde
|
||||
os=-elf
|
||||
;;
|
||||
sei)
|
||||
basic_machine=mips-sei
|
||||
os=-seiux
|
||||
|
@ -1089,13 +1127,10 @@ case $basic_machine in
|
|||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||
basic_machine=sh-unknown
|
||||
;;
|
||||
sh64)
|
||||
basic_machine=sh64-unknown
|
||||
;;
|
||||
sparc | sparcv8 | sparcv9 | sparcv9b)
|
||||
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
cydra)
|
||||
|
@ -1168,20 +1203,23 @@ case $os in
|
|||
| -aos* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
|
||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||
| -openbsd* | -solidbsd* \
|
||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -chorusos* | -chorusrdb* \
|
||||
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||
| -skyos* | -haiku* | -rdos* | -toppers*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
|
@ -1199,7 +1237,7 @@ case $os in
|
|||
os=`echo $os | sed -e 's|nto|nto-qnx|'`
|
||||
;;
|
||||
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
|
||||
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
|
||||
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
|
||||
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
||||
;;
|
||||
-mac*)
|
||||
|
@ -1333,6 +1371,12 @@ else
|
|||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
score-*)
|
||||
os=-elf
|
||||
;;
|
||||
spu-*)
|
||||
os=-elf
|
||||
;;
|
||||
*-acorn)
|
||||
os=-riscix1.2
|
||||
;;
|
||||
|
@ -1388,6 +1432,9 @@ case $basic_machine in
|
|||
*-be)
|
||||
os=-beos
|
||||
;;
|
||||
*-haiku)
|
||||
os=-haiku
|
||||
;;
|
||||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
|
@ -1559,7 +1606,7 @@ case $basic_machine in
|
|||
esac
|
||||
|
||||
echo $basic_machine$os
|
||||
exit 0
|
||||
exit
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
|
|
|
@ -5,7 +5,7 @@ dnl $Id: configure.in 1415 2004-11-10 23:20:59Z guus $
|
|||
AC_PREREQ(2.59)
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR([src/tincd.c])
|
||||
AM_INIT_AUTOMAKE(tinc, 1.0.4)
|
||||
AM_INIT_AUTOMAKE(tinc, 1.0.5)
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
|
|
9
depcomp
9
depcomp
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2005-02-09.22
|
||||
scriptversion=2005-07-09.11
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -17,8 +17,8 @@ scriptversion=2005-02-09.22
|
|||
|
||||
# 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., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
|
@ -467,7 +467,8 @@ cpp)
|
|||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Makefile.in generated by automake 1.9.5 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -39,13 +39,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
|
|||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal-include.m4 \
|
||||
$(top_srcdir)/m4/attribute.m4 $(top_srcdir)/m4/gettext.m4 \
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
|
||||
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
|
||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/malloc.m4 \
|
||||
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
|
||||
$(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/tuntap.m4 \
|
||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/isc-posix.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lzo.m4 \
|
||||
$(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
|
||||
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
|
||||
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
|
||||
$(top_srcdir)/m4/tuntap.m4 $(top_srcdir)/m4/zlib.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
|
@ -100,6 +101,7 @@ ECHO_T = @ECHO_T@
|
|||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GREP = @GREP@
|
||||
HAVE_TUNTAP = @HAVE_TUNTAP@
|
||||
INCLUDES = @INCLUDES@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
@ -141,8 +143,6 @@ USE_NLS = @USE_NLS@
|
|||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
|
@ -157,23 +157,30 @@ build_cpu = @build_cpu@
|
|||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
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@
|
||||
sysconfdir = @sysconfdir@
|
||||
|
@ -225,9 +232,11 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
|||
tinc.info: tinc.texi
|
||||
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
|
||||
rm -rf $$backupdir && mkdir $$backupdir && \
|
||||
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 \
|
||||
if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
|
||||
done; \
|
||||
else :; fi && \
|
||||
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
-o $@ `test -f 'tinc.texi' || echo '$(srcdir)/'`tinc.texi; \
|
||||
then \
|
||||
|
@ -262,6 +271,7 @@ tinc.html: tinc.texi
|
|||
exit 1; \
|
||||
fi
|
||||
.dvi.ps:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
$(DVIPS) -o $@ $<
|
||||
|
||||
uninstall-info-am:
|
||||
|
@ -294,10 +304,13 @@ dist-info: $(INFO_DEPS)
|
|||
$(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
esac; \
|
||||
if test -f $$base; then d=.; else d=$(srcdir); fi; \
|
||||
for file in $$d/$$base*; do \
|
||||
base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||
for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
|
||||
if test -f $$file; then \
|
||||
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
|
||||
test -f $(distdir)/$$relfile || \
|
||||
cp -p $$file $(distdir)/$$relfile; \
|
||||
else :; fi; \
|
||||
done; \
|
||||
done
|
||||
|
||||
|
|
Binary file not shown.
690
doc/texinfo.tex
690
doc/texinfo.tex
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
|||
.Dd 2002-04-09
|
||||
.Dt TINC.CONF 5
|
||||
.\" Manual page created by:
|
||||
.\" Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
.\" Ivo Timmermans
|
||||
.\" Guus Sliepen <guus@tinc-vpn.org>
|
||||
.Sh NAME
|
||||
.Nm tinc.conf
|
||||
|
@ -120,13 +120,6 @@ will by default listen on all of them for incoming connections.
|
|||
It is possible to bind only to a single interface with this variable.
|
||||
.Pp
|
||||
This option may not work on all platforms.
|
||||
.It Va BlockingTCP Li = yes | no Po no Pc Bq experimental
|
||||
This options selects whether TCP connections, when established, should use blocking writes.
|
||||
When turned off, tinc will never block when a TCP connection becomes congested, but will have to terminate that connection instead.
|
||||
If turned on, tinc will not terminate connections but will block, thereby unable to process data to/from other connections.
|
||||
Turn this option on if you also use
|
||||
.Va TCPOnly
|
||||
and tinc terminates connections frequently.
|
||||
.It Va ConnectTo Li = Ar name
|
||||
Specifies which other tinc daemon to connect to on startup.
|
||||
Multiple
|
||||
|
@ -154,6 +147,18 @@ instead of
|
|||
.Va Device .
|
||||
The info pages of the tinc package contain more information
|
||||
about configuring the virtual network device.
|
||||
.It Va GraphDumpFile Li = Ar filename Bq experimental
|
||||
If this option is present,
|
||||
.Nm tinc
|
||||
will dump the current network graph to the file
|
||||
.Ar filename
|
||||
every minute, unless there were no changes to the graph.
|
||||
The file is in a format that can be read by graphviz tools.
|
||||
If
|
||||
.Ar filename
|
||||
starts with a pipe symbol |,
|
||||
then the rest of the filename is interpreted as a shell command
|
||||
that is executed, the graph is then sent to stdin.
|
||||
.It Va Hostnames Li = yes | no Pq no
|
||||
This option selects whether IP addresses (both real and on the VPN) should
|
||||
be resolved. Since DNS lookups are blocking, it might affect tinc's
|
||||
|
@ -206,11 +211,13 @@ while no routing table is managed.
|
|||
.It Va Name Li = Ar name Bq required
|
||||
This is the name which identifies this tinc daemon.
|
||||
It must be unique for the virtual private network this daemon will connect to.
|
||||
.It Va PingTimeout Li = Ar seconds Pq 60
|
||||
.It Va PingInterval Li = Ar seconds Pq 60
|
||||
The number of seconds of inactivity that
|
||||
.Nm tinc
|
||||
will wait before sending a probe to the other end.
|
||||
If that other end doesn't answer within that same amount of time,
|
||||
.It Va PingTimeout Li = Ar seconds Pq 5
|
||||
The number of seconds to wait for a response to pings or to allow meta
|
||||
connections to block. If the other end doesn't respond within this time,
|
||||
the connection is terminated,
|
||||
and the others will be notified of this.
|
||||
.It Va PriorityInheritance Li = yes | no Po no Pc Bq experimental
|
||||
|
@ -247,7 +254,7 @@ no secrets are revealed by sending out this information.
|
|||
.Bl -tag -width indent
|
||||
.It Va Address Li = Ar address Bq recommended
|
||||
The IP address or hostname of this tinc daemon on the real network.
|
||||
This wil only be used when trying to make an outgoing connection to this tinc daemon.
|
||||
This will only be used when trying to make an outgoing connection to this tinc daemon.
|
||||
Multiple
|
||||
.Va Address
|
||||
variables can be specified, in which case each address will be tried until a working
|
||||
|
@ -351,6 +358,10 @@ becomes reachable.
|
|||
This script is started when the tinc daemon with name
|
||||
.Ar HOST
|
||||
becomes unreachable.
|
||||
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /host-up
|
||||
This script is started when any host becomes reachable.
|
||||
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /host-down
|
||||
This script is started when any host becomes unreachable.
|
||||
.It Pa @sysconfdir@/tinc/ Ns Ar NETNAME Ns Pa /subnet-up
|
||||
This script is started when a Subnet becomes reachable.
|
||||
The Subnet and the node it belongs to are passed in environment variables.
|
||||
|
|
225
doc/tinc.info
225
doc/tinc.info
|
@ -1,17 +1,17 @@
|
|||
This is tinc.info, produced by makeinfo version 4.7 from tinc.texi.
|
||||
This is tinc.info, produced by makeinfo version 4.8 from tinc.texi.
|
||||
|
||||
INFO-DIR-SECTION Networking tools
|
||||
START-INFO-DIR-ENTRY
|
||||
* tinc: (tinc). The tinc Manual.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This is the info manual for tinc version 1.0.4, a Virtual Private
|
||||
This is the info manual for tinc version 1.0.5, a Virtual Private
|
||||
Network daemon.
|
||||
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>, Guus
|
||||
Sliepen <guus@tinc-vpn.org> and Wessel Dankers <wsl@tinc-vpn.org>.
|
||||
Copyright (C) 1998-2006 Ivo Timmermans, Guus Sliepen
|
||||
<guus@tinc-vpn.org> and Wessel Dankers <wsl@tinc-vpn.org>.
|
||||
|
||||
$Id: tinc.texi 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: tinc.texi 1467 2006-11-11 20:37:58Z guus $
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
|
@ -760,15 +760,6 @@ BindToInterface = <INTERFACE> [experimental]
|
|||
|
||||
This option may not work on all platforms.
|
||||
|
||||
BlockingTCP = <yes|no> (no) [experimental]
|
||||
This options selects whether TCP connections, when established,
|
||||
should use blocking writes. When turned off, tinc will never
|
||||
block when a TCP connection becomes congested, but will have to
|
||||
terminate that connection instead. If turned on, tinc will not
|
||||
terminate connections but will block, thereby unable to process
|
||||
data to/from other connections. Turn this option on if you also
|
||||
use TCPOnly and tinc terminates connections frequently.
|
||||
|
||||
ConnectTo = <NAME>
|
||||
Specifies which other tinc daemon to connect to on startup.
|
||||
Multiple ConnectTo variables may be specified, in which case
|
||||
|
@ -787,6 +778,14 @@ Device = <DEVICE> (`/dev/tap0', `/dev/net/tun' or other depending on platform)
|
|||
that you can only use one device per daemon. See also *Note
|
||||
Device files::.
|
||||
|
||||
GraphDumpFile = <FILENAME> [experimental]
|
||||
If this option is present, tinc will dump the current network
|
||||
graph to the file FILENAME every minute, unless there were no
|
||||
changes to the graph. The file is in a format that can be read by
|
||||
graphviz tools. If FILENAME starts with a pipe symbol |, then the
|
||||
rest of the filename is interpreted as a shell command that is
|
||||
executed, the graph is then sent to stdin.
|
||||
|
||||
Hostnames = <yes|no> (no)
|
||||
This option selects whether IP addresses (both real and on the VPN)
|
||||
should be resolved. Since DNS lookups are blocking, it might
|
||||
|
@ -847,11 +846,15 @@ MACExpire = <SECONDS> (600)
|
|||
Name = <NAME> [required]
|
||||
This is a symbolic name for this connection. It can be anything
|
||||
|
||||
PingTimeout = <SECONDS> (60)
|
||||
PingInterval = <SECONDS> (60)
|
||||
The number of seconds of inactivity that tinc will wait before
|
||||
sending a probe to the other end. If that other end doesn't
|
||||
answer within that same amount of seconds, the connection is
|
||||
terminated, and the others will be notified of this.
|
||||
sending a probe to the other end.
|
||||
|
||||
PingTimeout = <SECONDS> (5)
|
||||
The number of seconds to wait for a response to pings or to allow
|
||||
meta connections to block. If the other end doesn't respond within
|
||||
this time, the connection is terminated, and the others will be
|
||||
notified of this.
|
||||
|
||||
PriorityInheritance = <yes|no> (no) [experimental]
|
||||
When this option is enabled the value of the TOS field of tunneled
|
||||
|
@ -998,6 +1001,12 @@ scripts should have the extension .bat.
|
|||
This script is started when the tinc daemon with name HOST becomes
|
||||
unreachable.
|
||||
|
||||
`/usr/local/etc/tinc/NETNAME/host-up'
|
||||
This script is started when any host becomes reachable.
|
||||
|
||||
`/usr/local/etc/tinc/NETNAME/host-down'
|
||||
This script is started when any host becomes unreachable.
|
||||
|
||||
`/usr/local/etc/tinc/NETNAME/subnet-up'
|
||||
This script is started when a Subnet becomes reachable. The
|
||||
Subnet and the node it belongs to are passed in environment
|
||||
|
@ -2206,8 +2215,6 @@ Concept Index
|
|||
(line 12)
|
||||
* BindToInterface: Main configuration variables.
|
||||
(line 19)
|
||||
* BlockingTCP: Main configuration variables.
|
||||
(line 27)
|
||||
* Cabal: Security. (line 6)
|
||||
* CHAL_REPLY: Authentication protocol.
|
||||
(line 10)
|
||||
|
@ -2224,109 +2231,113 @@ Concept Index
|
|||
(line 17)
|
||||
* connection: The connection. (line 6)
|
||||
* ConnectTo: Main configuration variables.
|
||||
(line 36)
|
||||
(line 27)
|
||||
* daemon: Running tinc. (line 11)
|
||||
* data-protocol: The meta-connection. (line 18)
|
||||
* debug level: Runtime options. (line 17)
|
||||
* debug levels: Debug levels. (line 6)
|
||||
* DEL_EDGE: The meta-protocol. (line 47)
|
||||
* DEL_SUBNET: The meta-protocol. (line 47)
|
||||
* DEVICE: Scripts. (line 49)
|
||||
* DEVICE: Scripts. (line 55)
|
||||
* Device: Main configuration variables.
|
||||
(line 47)
|
||||
(line 38)
|
||||
* device files: Device files. (line 6)
|
||||
* Digest: Host configuration variables.
|
||||
(line 22)
|
||||
* encapsulating: The UDP tunnel. (line 30)
|
||||
* encryption: Encryption of network packets.
|
||||
(line 6)
|
||||
* environment variables: Scripts. (line 37)
|
||||
* environment variables: Scripts. (line 43)
|
||||
* ethertap: Configuration of Linux kernels 2.1.60 up to 2.4.0.
|
||||
(line 6)
|
||||
* example: Example configuration.
|
||||
(line 6)
|
||||
* frame type: The UDP tunnel. (line 6)
|
||||
* GraphDumpFile: Main configuration variables.
|
||||
(line 45)
|
||||
* Hostnames: Main configuration variables.
|
||||
(line 54)
|
||||
(line 53)
|
||||
* hub: Main configuration variables.
|
||||
(line 95)
|
||||
(line 94)
|
||||
* ID: Authentication protocol.
|
||||
(line 10)
|
||||
* IndirectData: Host configuration variables.
|
||||
(line 27)
|
||||
* INTERFACE: Scripts. (line 52)
|
||||
* INTERFACE: Scripts. (line 58)
|
||||
* Interface: Main configuration variables.
|
||||
(line 64)
|
||||
(line 63)
|
||||
* IRC: Contact information. (line 9)
|
||||
* key generation: Generating keypairs. (line 6)
|
||||
* KEY_CHANGED: The meta-protocol. (line 64)
|
||||
* KeyExpire: Main configuration variables.
|
||||
(line 100)
|
||||
(line 99)
|
||||
* libraries: Libraries. (line 6)
|
||||
* license: OpenSSL. (line 36)
|
||||
* lzo: lzo. (line 6)
|
||||
* MACExpire: Main configuration variables.
|
||||
(line 106)
|
||||
(line 105)
|
||||
* MACLength: Host configuration variables.
|
||||
(line 35)
|
||||
* meta-protocol: The meta-connection. (line 18)
|
||||
* META_KEY: Authentication protocol.
|
||||
(line 10)
|
||||
* Mode: Main configuration variables.
|
||||
(line 72)
|
||||
(line 71)
|
||||
* multiple networks: Multiple networks. (line 6)
|
||||
* NAME: Scripts. (line 46)
|
||||
* NAME: Scripts. (line 52)
|
||||
* Name: Main configuration variables.
|
||||
(line 111)
|
||||
(line 110)
|
||||
* netmask: Network interfaces. (line 34)
|
||||
* NETNAME: Scripts. (line 43)
|
||||
* NETNAME: Scripts. (line 49)
|
||||
* netname: Multiple networks. (line 6)
|
||||
* Network Administrators Guide: Configuration introduction.
|
||||
(line 15)
|
||||
* NODE: Scripts. (line 56)
|
||||
* NODE: Scripts. (line 62)
|
||||
* OpenSSL: OpenSSL. (line 6)
|
||||
* options: Runtime options. (line 9)
|
||||
* PEM format: Host configuration variables.
|
||||
(line 52)
|
||||
* PING: The meta-protocol. (line 89)
|
||||
* PingInterval: Main configuration variables.
|
||||
(line 113)
|
||||
* PingTimeout: Main configuration variables.
|
||||
(line 114)
|
||||
(line 117)
|
||||
* platforms: Supported platforms. (line 6)
|
||||
* PONG: The meta-protocol. (line 89)
|
||||
* Port: Host configuration variables.
|
||||
(line 40)
|
||||
* port numbers: Other files. (line 17)
|
||||
* PriorityInheritance: Main configuration variables.
|
||||
(line 120)
|
||||
(line 123)
|
||||
* private: Virtual Private Networks.
|
||||
(line 10)
|
||||
* PrivateKey: Main configuration variables.
|
||||
(line 125)
|
||||
(line 128)
|
||||
* PrivateKeyFile: Main configuration variables.
|
||||
(line 131)
|
||||
(line 134)
|
||||
* PublicKey: Host configuration variables.
|
||||
(line 44)
|
||||
* PublicKeyFile: Host configuration variables.
|
||||
(line 47)
|
||||
* release: Supported platforms. (line 14)
|
||||
* REMOTEADDRESS: Scripts. (line 61)
|
||||
* REMOTEPORT: Scripts. (line 64)
|
||||
* REMOTEADDRESS: Scripts. (line 67)
|
||||
* REMOTEPORT: Scripts. (line 70)
|
||||
* REQ_KEY: The meta-protocol. (line 64)
|
||||
* requirements: Libraries. (line 6)
|
||||
* router: Main configuration variables.
|
||||
(line 75)
|
||||
(line 74)
|
||||
* runtime options: Runtime options. (line 9)
|
||||
* scalability: tinc. (line 19)
|
||||
* scripts: Scripts. (line 6)
|
||||
* server: How connections work.
|
||||
(line 18)
|
||||
* signals: Signals. (line 6)
|
||||
* SUBNET: Scripts. (line 68)
|
||||
* SUBNET: Scripts. (line 74)
|
||||
* Subnet: Host configuration variables.
|
||||
(line 59)
|
||||
* SVPN: Security. (line 11)
|
||||
* switch: Main configuration variables.
|
||||
(line 84)
|
||||
(line 83)
|
||||
* TCP: The meta-connection. (line 10)
|
||||
* TCPonly: Host configuration variables.
|
||||
(line 82)
|
||||
|
@ -2338,7 +2349,7 @@ Concept Index
|
|||
* tincd: tinc. (line 14)
|
||||
* traditional VPNs: tinc. (line 19)
|
||||
* TunnelServer: Main configuration variables.
|
||||
(line 139)
|
||||
(line 142)
|
||||
* UDP <1>: Encryption of network packets.
|
||||
(line 12)
|
||||
* UDP: The UDP tunnel. (line 30)
|
||||
|
@ -2356,67 +2367,67 @@ Concept Index
|
|||
|
||||
|
||||
Tag Table:
|
||||
Node: Top879
|
||||
Node: Introduction1178
|
||||
Node: Virtual Private Networks1988
|
||||
Node: tinc3713
|
||||
Node: Supported platforms5240
|
||||
Node: Preparations5938
|
||||
Node: Configuring the kernel6194
|
||||
Node: Configuration of Linux kernels 2.1.60 up to 2.4.06674
|
||||
Node: Configuration of Linux kernels 2.4.0 and higher8046
|
||||
Node: Configuration of FreeBSD kernels9286
|
||||
Node: Configuration of OpenBSD kernels9693
|
||||
Node: Configuration of NetBSD kernels10185
|
||||
Node: Configuration of Solaris kernels10590
|
||||
Node: Configuration of Darwin (MacOS/X) kernels11251
|
||||
Node: Configuration of Windows11954
|
||||
Node: Libraries12468
|
||||
Node: OpenSSL12856
|
||||
Node: zlib15132
|
||||
Node: lzo15961
|
||||
Node: Installation16748
|
||||
Node: Building and installing tinc17763
|
||||
Node: Darwin (MacOS/X) build environment18422
|
||||
Node: Cygwin (Windows) build environment18990
|
||||
Node: MinGW (Windows) build environment19578
|
||||
Node: System files20102
|
||||
Node: Device files20367
|
||||
Node: Other files21553
|
||||
Node: Configuration22166
|
||||
Node: Configuration introduction22477
|
||||
Node: Multiple networks23750
|
||||
Node: How connections work25226
|
||||
Node: Configuration files26448
|
||||
Node: Main configuration variables27475
|
||||
Node: Host configuration variables33939
|
||||
Node: Scripts38235
|
||||
Node: How to configure40790
|
||||
Node: Generating keypairs42073
|
||||
Node: Network interfaces42572
|
||||
Node: Example configuration44440
|
||||
Node: Running tinc49892
|
||||
Node: Runtime options50482
|
||||
Node: Signals52519
|
||||
Node: Debug levels53588
|
||||
Node: Solving problems54524
|
||||
Node: Error messages55954
|
||||
Node: Sending bug reports60276
|
||||
Node: Technical information61228
|
||||
Node: The connection61459
|
||||
Node: The UDP tunnel61771
|
||||
Node: The meta-connection64832
|
||||
Node: The meta-protocol66301
|
||||
Node: Security71310
|
||||
Node: Authentication protocol72440
|
||||
Node: Encryption of network packets77444
|
||||
Node: Security issues78817
|
||||
Node: Platform specific information80434
|
||||
Node: Interface configuration80662
|
||||
Node: Routes82561
|
||||
Node: About us84477
|
||||
Node: Contact information84652
|
||||
Node: Authors85056
|
||||
Node: Concept Index85482
|
||||
Node: Top860
|
||||
Node: Introduction1159
|
||||
Node: Virtual Private Networks1969
|
||||
Node: tinc3694
|
||||
Node: Supported platforms5221
|
||||
Node: Preparations5919
|
||||
Node: Configuring the kernel6175
|
||||
Node: Configuration of Linux kernels 2.1.60 up to 2.4.06655
|
||||
Node: Configuration of Linux kernels 2.4.0 and higher8027
|
||||
Node: Configuration of FreeBSD kernels9267
|
||||
Node: Configuration of OpenBSD kernels9674
|
||||
Node: Configuration of NetBSD kernels10166
|
||||
Node: Configuration of Solaris kernels10571
|
||||
Node: Configuration of Darwin (MacOS/X) kernels11232
|
||||
Node: Configuration of Windows11935
|
||||
Node: Libraries12449
|
||||
Node: OpenSSL12837
|
||||
Node: zlib15113
|
||||
Node: lzo15942
|
||||
Node: Installation16729
|
||||
Node: Building and installing tinc17744
|
||||
Node: Darwin (MacOS/X) build environment18403
|
||||
Node: Cygwin (Windows) build environment18971
|
||||
Node: MinGW (Windows) build environment19559
|
||||
Node: System files20083
|
||||
Node: Device files20348
|
||||
Node: Other files21534
|
||||
Node: Configuration22147
|
||||
Node: Configuration introduction22458
|
||||
Node: Multiple networks23731
|
||||
Node: How connections work25207
|
||||
Node: Configuration files26429
|
||||
Node: Main configuration variables27456
|
||||
Node: Host configuration variables33953
|
||||
Node: Scripts38249
|
||||
Node: How to configure41008
|
||||
Node: Generating keypairs42291
|
||||
Node: Network interfaces42790
|
||||
Node: Example configuration44658
|
||||
Node: Running tinc50110
|
||||
Node: Runtime options50700
|
||||
Node: Signals52737
|
||||
Node: Debug levels53806
|
||||
Node: Solving problems54742
|
||||
Node: Error messages56172
|
||||
Node: Sending bug reports60494
|
||||
Node: Technical information61446
|
||||
Node: The connection61677
|
||||
Node: The UDP tunnel61989
|
||||
Node: The meta-connection65050
|
||||
Node: The meta-protocol66519
|
||||
Node: Security71528
|
||||
Node: Authentication protocol72658
|
||||
Node: Encryption of network packets77662
|
||||
Node: Security issues79035
|
||||
Node: Platform specific information80652
|
||||
Node: Interface configuration80880
|
||||
Node: Routes82779
|
||||
Node: About us84695
|
||||
Node: Contact information84870
|
||||
Node: Authors85274
|
||||
Node: Concept Index85700
|
||||
|
||||
End Tag Table
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
\input texinfo @c -*-texinfo-*-
|
||||
@c $Id: tinc.texi 1439 2005-05-04 18:09:30Z guus $
|
||||
@c $Id: tinc.texi 1467 2006-11-11 20:37:58Z guus $
|
||||
@c %**start of header
|
||||
@setfilename tinc.info
|
||||
@settitle tinc Manual
|
||||
|
@ -16,11 +16,11 @@
|
|||
|
||||
This is the info manual for @value{PACKAGE} version @value{VERSION}, a Virtual Private Network daemon.
|
||||
|
||||
Copyright @copyright{} 1998-2005 Ivo Timmermans
|
||||
<ivo@@tinc-vpn.org>, Guus Sliepen <guus@@tinc-vpn.org> and
|
||||
Copyright @copyright{} 1998-2006 Ivo Timmermans,
|
||||
Guus Sliepen <guus@@tinc-vpn.org> and
|
||||
Wessel Dankers <wsl@@tinc-vpn.org>.
|
||||
|
||||
$Id: tinc.texi 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: tinc.texi 1467 2006-11-11 20:37:58Z guus $
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
|
@ -43,11 +43,11 @@ permission notice identical to this one.
|
|||
@cindex copyright
|
||||
This is the info manual for @value{PACKAGE} version @value{VERSION}, a Virtual Private Network daemon.
|
||||
|
||||
Copyright @copyright{} 1998-2005 Ivo Timmermans
|
||||
<ivo@@tinc-vpn.org>, Guus Sliepen <guus@@tinc-vpn.org> and
|
||||
Copyright @copyright{} 1998-2006 Ivo Timmermans,
|
||||
Guus Sliepen <guus@@tinc-vpn.org> and
|
||||
Wessel Dankers <wsl@@tinc-vpn.org>.
|
||||
|
||||
$Id: tinc.texi 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: tinc.texi 1467 2006-11-11 20:37:58Z guus $
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
|
@ -841,15 +841,6 @@ variable.
|
|||
|
||||
This option may not work on all platforms.
|
||||
|
||||
@cindex BlockingTCP
|
||||
@item BlockingTCP = <yes|no> (no) [experimental]
|
||||
This options selects whether TCP connections, when established, should use blocking writes.
|
||||
When turned off, tinc will never block when a TCP connection becomes congested,
|
||||
but will have to terminate that connection instead.
|
||||
If turned on, tinc will not terminate connections but will block,
|
||||
thereby unable to process data to/from other connections.
|
||||
Turn this option on if you also use TCPOnly and tinc terminates connections frequently.
|
||||
|
||||
@cindex ConnectTo
|
||||
@item ConnectTo = <@var{name}>
|
||||
Specifies which other tinc daemon to connect to on startup.
|
||||
|
@ -871,6 +862,16 @@ Under Windows, use @var{Interface} instead of @var{Device}.
|
|||
Note that you can only use one device per daemon.
|
||||
See also @ref{Device files}.
|
||||
|
||||
@cindex GraphDumpFile
|
||||
@item GraphDumpFile = <@var{filename}> [experimental]
|
||||
If this option is present,
|
||||
tinc will dump the current network graph to the file @var{filename}
|
||||
every minute, unless there were no changes to the graph.
|
||||
The file is in a format that can be read by graphviz tools.
|
||||
If @var{filename} starts with a pipe symbol |,
|
||||
then the rest of the filename is interpreted as a shell command
|
||||
that is executed, the graph is then sent to stdin.
|
||||
|
||||
@cindex Hostnames
|
||||
@item Hostnames = <yes|no> (no)
|
||||
This option selects whether IP addresses (both real and on the VPN)
|
||||
|
@ -933,12 +934,16 @@ This only has effect when Mode is set to "switch".
|
|||
@item Name = <@var{name}> [required]
|
||||
This is a symbolic name for this connection. It can be anything
|
||||
|
||||
@cindex PingTimeout
|
||||
@item PingTimeout = <@var{seconds}> (60)
|
||||
@cindex PingInterval
|
||||
@item PingInterval = <@var{seconds}> (60)
|
||||
The number of seconds of inactivity that tinc will wait before sending a
|
||||
probe to the other end. If that other end doesn't answer within that
|
||||
same amount of seconds, the connection is terminated, and the others
|
||||
will be notified of this.
|
||||
probe to the other end.
|
||||
|
||||
@cindex PingTimeout
|
||||
@item PingTimeout = <@var{seconds}> (5)
|
||||
The number of seconds to wait for a response to pings or to allow meta
|
||||
connections to block. If the other end doesn't respond within this time,
|
||||
the connection is terminated, and the others will be notified of this.
|
||||
|
||||
@cindex PriorityInheritance
|
||||
@item PriorityInheritance = <yes|no> (no) [experimental]
|
||||
|
@ -1101,6 +1106,12 @@ This script is started when the tinc daemon with name @var{host} becomes reachab
|
|||
@item @value{sysconfdir}/tinc/@var{netname}/hosts/@var{host}-down
|
||||
This script is started when the tinc daemon with name @var{host} becomes unreachable.
|
||||
|
||||
@item @value{sysconfdir}/tinc/@var{netname}/host-up
|
||||
This script is started when any host becomes reachable.
|
||||
|
||||
@item @value{sysconfdir}/tinc/@var{netname}/host-down
|
||||
This script is started when any host becomes unreachable.
|
||||
|
||||
@item @value{sysconfdir}/tinc/@var{netname}/subnet-up
|
||||
This script is started when a Subnet becomes reachable.
|
||||
The Subnet and the node it belongs to are passed in environment variables.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.Dd 2002-03-25
|
||||
.Dt TINCD 8
|
||||
.\" Manual page created by:
|
||||
.\" Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
.\" Ivo Timmermans
|
||||
.\" Guus Sliepen <guus@tinc-vpn.org>
|
||||
.Sh NAME
|
||||
.Nm tincd
|
||||
|
@ -181,7 +181,7 @@ tinc comes with ABSOLUTELY NO WARRANTY.
|
|||
This is free software, and you are welcome to redistribute it under certain conditions;
|
||||
see the file COPYING for details.
|
||||
.Sh AUTHORS
|
||||
.An "Ivo Timmermans" Aq ivo@tinc-vpn.org
|
||||
.An "Ivo Timmermans"
|
||||
.An "Guus Sliepen" Aq guus@tinc-vpn.org
|
||||
.Pp
|
||||
And thanks to many others for their contributions to tinc!
|
||||
|
|
8
have.h
8
have.h
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
have.h -- include headers which are known to exist
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2003-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans
|
||||
2003-2006 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
|
||||
|
@ -43,6 +43,10 @@
|
|||
#include <inttypes.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
#endif
|
||||
|
||||
/* Include system specific headers */
|
||||
|
||||
#ifdef HAVE_SYSLOG_H
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2005-02-02.21
|
||||
scriptversion=2005-05-14.22
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Makefile.in generated by automake 1.9.5 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -17,8 +17,6 @@
|
|||
# $Id: Makefile.am 1374 2004-03-21 14:21:22Z guus $
|
||||
|
||||
|
||||
SOURCES = $(libvpn_a_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
@ -47,13 +45,14 @@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
|
|||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal-include.m4 \
|
||||
$(top_srcdir)/m4/attribute.m4 $(top_srcdir)/m4/gettext.m4 \
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
|
||||
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
|
||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/malloc.m4 \
|
||||
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
|
||||
$(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/tuntap.m4 \
|
||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/isc-posix.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lzo.m4 \
|
||||
$(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
|
||||
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
|
||||
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
|
||||
$(top_srcdir)/m4/tuntap.m4 $(top_srcdir)/m4/zlib.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
|
@ -104,6 +103,7 @@ ECHO_T = @ECHO_T@
|
|||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GREP = @GREP@
|
||||
HAVE_TUNTAP = @HAVE_TUNTAP@
|
||||
INCLUDES = @INCLUDES@ -I. -I$(top_builddir)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
@ -145,8 +145,6 @@ USE_NLS = @USE_NLS@
|
|||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
|
@ -161,23 +159,30 @@ build_cpu = @build_cpu@
|
|||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
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@
|
||||
sysconfdir = @sysconfdir@
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
avl_tree.c -- avl_ tree and linked list convenience
|
||||
Copyright (C) 1998 Michael H. Buselli
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2005 Ivo Timmermans,
|
||||
2000-2006 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2005 Wessel Dankers <wsl@tinc-vpn.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
@ -29,7 +29,7 @@
|
|||
library for inclusion into tinc (http://www.tinc-vpn.org/) by
|
||||
Guus Sliepen <guus@tinc-vpn.org>.
|
||||
|
||||
$Id: avl_tree.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: avl_tree.c 1470 2006-11-11 22:45:45Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -656,7 +656,7 @@ void avl_delete_tree(avl_tree_t *tree)
|
|||
{
|
||||
avl_node_t *node, *next;
|
||||
|
||||
for(node = tree->root; node; node = next) {
|
||||
for(node = tree->head; node; node = next) {
|
||||
next = node->next;
|
||||
avl_free_node(tree, node);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
avl_tree.h -- header file for avl_tree.c
|
||||
Copyright (C) 1998 Michael H. Buselli
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2005 Ivo Timmermans,
|
||||
2000-2006 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2005 Wessel Dankers <wsl@tinc-vpn.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
@ -29,7 +29,7 @@
|
|||
library for inclusion into tinc (http://www.tinc-vpn.org/) by
|
||||
Guus Sliepen <guus@tinc-vpn.org>.
|
||||
|
||||
$Id: avl_tree.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: avl_tree.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
dropin.c -- a set of drop-in replacements for libc functions
|
||||
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2000-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: dropin.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: dropin.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
dropin.h -- header file for dropin.c
|
||||
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2000-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: dropin.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: dropin.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __DROPIN_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
ethernet.h -- missing Ethernet related definitions
|
||||
Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2005 Ivo Timmermans
|
||||
2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: ethernet.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: ethernet.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_ETHERNET_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
ipv4.h -- missing IPv4 related definitions
|
||||
Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2005 Ivo Timmermans
|
||||
2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: ipv4.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: ipv4.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_IPV4_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
ipv6.h -- missing IPv6 related definitions
|
||||
Copyright (C) 2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2005 Ivo Timmermans
|
||||
2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: ipv6.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: ipv6.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_IPV6_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
list.c -- functions to deal with double linked lists
|
||||
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2000-2005 Ivo Timmermans
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: list.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: list.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
list.h -- header file for list.c
|
||||
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2000-2005 Ivo Timmermans
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: list.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: list.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_LIST_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
utils.c -- gathering of some stupid small functions
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <zarq@iname.com>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2006 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
utils.h -- header file for utils.c
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <zarq@iname.com>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2006 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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Makefile.in generated by automake 1.9.5 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -40,13 +40,14 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
|||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal-include.m4 \
|
||||
$(top_srcdir)/m4/attribute.m4 $(top_srcdir)/m4/gettext.m4 \
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
|
||||
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
|
||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/malloc.m4 \
|
||||
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
|
||||
$(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/tuntap.m4 \
|
||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/isc-posix.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lzo.m4 \
|
||||
$(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
|
||||
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
|
||||
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
|
||||
$(top_srcdir)/m4/tuntap.m4 $(top_srcdir)/m4/zlib.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
|
@ -78,6 +79,7 @@ ECHO_T = @ECHO_T@
|
|||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GREP = @GREP@
|
||||
HAVE_TUNTAP = @HAVE_TUNTAP@
|
||||
INCLUDES = @INCLUDES@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
@ -119,8 +121,6 @@ USE_NLS = @USE_NLS@
|
|||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
|
@ -135,23 +135,30 @@ build_cpu = @build_cpu@
|
|||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
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@
|
||||
sysconfdir = @sysconfdir@
|
||||
|
|
18
m4/lzo.m4
18
m4/lzo.m4
|
@ -21,13 +21,17 @@ AC_DEFUN([tinc_LZO],
|
|||
LDFLAGS="$LDFLAGS -L$withval"]
|
||||
)
|
||||
|
||||
AC_CHECK_HEADERS(lzo1x.h,
|
||||
[],
|
||||
[AC_MSG_ERROR("lzo header files not found."); break]
|
||||
)
|
||||
|
||||
AC_CHECK_LIB(lzo, lzo1x_1_compress,
|
||||
AC_CHECK_LIB(lzo2, lzo1x_1_compress,
|
||||
[AC_CHECK_HEADERS(lzo/lzo1x.h,
|
||||
[LIBS="$LIBS -llzo2"],
|
||||
[AC_MSG_ERROR("lzo2 header files not found."); break]
|
||||
)],
|
||||
[AC_CHECK_LIB(lzo, lzo1x_1_compress,
|
||||
[AC_CHECK_HEADERS(lzo1x.h,
|
||||
[LIBS="$LIBS -llzo"],
|
||||
[AC_MSG_ERROR("lzo libraries not found.")]
|
||||
[AC_MSG_ERROR("lzo1 header files not found."); break]
|
||||
)],
|
||||
[AC_MSG_ERROR("lzo libraries not found."); break]
|
||||
)]
|
||||
)
|
||||
])
|
||||
|
|
|
@ -21,7 +21,7 @@ AC_DEFUN([tinc_OPENSSL],
|
|||
LDFLAGS="$LDFLAGS -L$withval"]
|
||||
)
|
||||
|
||||
AC_CHECK_HEADERS(openssl/evp.h openssl/rsa.h openssl/rand.h openssl/err.h openssl/sha.h openssl/pem.h,
|
||||
AC_CHECK_HEADERS(openssl/evp.h openssl/rsa.h openssl/rand.h openssl/err.h openssl/sha.h openssl/pem.h openssl/engine.h,
|
||||
[],
|
||||
[AC_MSG_ERROR([OpenSSL header files not found.]); break]
|
||||
)
|
||||
|
|
9
missing
9
missing
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
|
||||
scriptversion=2005-02-08.22
|
||||
scriptversion=2005-06-08.21
|
||||
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
|
||||
# Free Software Foundation, Inc.
|
||||
|
@ -19,8 +19,8 @@ scriptversion=2005-02-08.22
|
|||
|
||||
# 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., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
|
@ -297,6 +297,9 @@ WARNING: \`$1' is $msg. You should only need it if
|
|||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||
fi
|
||||
# If the file does not exist, the user really needs makeinfo;
|
||||
# let's fail without touching anything.
|
||||
test -f $file || exit 1
|
||||
touch $file
|
||||
;;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
|
||||
scriptversion=2005-02-02.21
|
||||
scriptversion=2005-06-29.22
|
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
|
@ -12,7 +12,7 @@ scriptversion=2005-02-02.21
|
|||
# <automake-patches@gnu.org>.
|
||||
|
||||
errstatus=0
|
||||
dirmode=""
|
||||
dirmode=
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
||||
|
@ -103,13 +103,21 @@ esac
|
|||
|
||||
for file
|
||||
do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
case $file in
|
||||
/*) pathcomp=/ ;;
|
||||
*) pathcomp= ;;
|
||||
esac
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set fnord $file
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
pathcomp=
|
||||
for d
|
||||
do
|
||||
pathcomp="$pathcomp$d"
|
||||
test "x$d" = x && continue
|
||||
|
||||
pathcomp=$pathcomp$d
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
@ -124,7 +132,7 @@ do
|
|||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=""
|
||||
lasterr=
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
|
@ -134,7 +142,7 @@ do
|
|||
fi
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
done
|
||||
|
||||
|
|
BIN
po/nl.gmo
BIN
po/nl.gmo
Binary file not shown.
361
po/nl.po
361
po/nl.po
|
@ -1,15 +1,15 @@
|
|||
# Dutch messages for tinc
|
||||
# Copyright (C) 1999-2004 Ivo Timmermans, Guus Sliepen.
|
||||
# Ivo Timmermans <ivo@tinc-vpn.org>, 1999-2004.
|
||||
# Guus Sliepen <guus@tinc-vpn.org>, 2000-2004.
|
||||
# Copyright (C) 1999-2006 Ivo Timmermans, Guus Sliepen.
|
||||
# Ivo Timmermans <ivo@tinc-vpn.org>, 1999-2006.
|
||||
# Guus Sliepen <guus@tinc-vpn.org>, 2000-2006.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: tinc 1.0-svn\n"
|
||||
"Report-Msgid-Bugs-To: tinc-devel@tinc-vpn.org\n"
|
||||
"POT-Creation-Date: 2005-05-04 20:25+0200\n"
|
||||
"PO-Revision-Date: 2004-03-15 19:28+0100\n"
|
||||
"POT-Creation-Date: 2006-11-14 13:46+0100\n"
|
||||
"PO-Revision-Date: 2006-11-11 16:26+0100\n"
|
||||
"Last-Translator: Guus Sliepen <guus@tinc-vpn.org>\n"
|
||||
"Language-Team: Dutch <vertaling@tinc-vpn.org>\n"
|
||||
"Language-Team: Dutch\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -18,30 +18,30 @@ msgstr ""
|
|||
msgid "(unable to format errormessage)"
|
||||
msgstr "(kon foutmelding niet samenstellen)"
|
||||
|
||||
#: src/conf.c:159
|
||||
#: src/conf.c:160
|
||||
#, c-format
|
||||
msgid "\"yes\" or \"no\" expected for configuration variable %s in %s line %d"
|
||||
msgstr ""
|
||||
"\"ja\" of \"nee\" verwacht voor configuratievariabele %s in %s regel %d"
|
||||
|
||||
#: src/conf.c:175
|
||||
#: src/conf.c:176
|
||||
#, c-format
|
||||
msgid "Integer expected for configuration variable %s in %s line %d"
|
||||
msgstr "Geheel getal verwacht voor configuratievariabele %s in %s regel %d"
|
||||
|
||||
#: src/conf.c:209
|
||||
#: src/conf.c:210
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Hostname or IP address expected for configuration variable %s in %s line %d"
|
||||
msgstr ""
|
||||
"Hostnaam of IP adres verwacht voor configuratievariabele %s in %s regel %d"
|
||||
|
||||
#: src/conf.c:225
|
||||
#: src/conf.c:226
|
||||
#, c-format
|
||||
msgid "Subnet expected for configuration variable %s in %s line %d"
|
||||
msgstr "Subnet verwacht voor configuratievariabele %s in %s regel %d"
|
||||
|
||||
#: src/conf.c:236
|
||||
#: src/conf.c:237
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Network address and prefix length do not match for configuration variable %s "
|
||||
|
@ -50,34 +50,34 @@ msgstr ""
|
|||
"Netwerk adres en prefix lengte komen niet overeen bij configuratievariabele %"
|
||||
"s in %s regel %d"
|
||||
|
||||
#: src/conf.c:336
|
||||
#: src/conf.c:337
|
||||
#, c-format
|
||||
msgid "Cannot open config file %s: %s"
|
||||
msgstr "Kan configuratie bestand %s niet openen: %s"
|
||||
|
||||
#: src/conf.c:390
|
||||
#: src/conf.c:391
|
||||
#, c-format
|
||||
msgid "No value for variable `%s' on line %d while reading config file %s"
|
||||
msgstr ""
|
||||
"Geen waarde voor variabele `%s' op regel %d tijdens het lezen van "
|
||||
"configuratie bestand %s"
|
||||
|
||||
#: src/conf.c:421
|
||||
#: src/conf.c:422
|
||||
#, c-format
|
||||
msgid "Failed to read `%s': %s"
|
||||
msgstr "Lezen van `%s' mislukte: %s"
|
||||
|
||||
#: src/conf.c:443
|
||||
#: src/conf.c:444
|
||||
#, c-format
|
||||
msgid "Please enter a file to save %s to [%s]: "
|
||||
msgstr "Geef een bestand om de %s naar de schrijven [%s]: "
|
||||
|
||||
#: src/conf.c:450
|
||||
#: src/conf.c:451
|
||||
#, c-format
|
||||
msgid "Error while reading stdin: %s\n"
|
||||
msgstr "Fout tijdens lezen van standaardinvoer: %s\n"
|
||||
|
||||
#: src/conf.c:482
|
||||
#: src/conf.c:483
|
||||
#, c-format
|
||||
msgid "Error opening file `%s': %s\n"
|
||||
msgstr "Fout bij het openen van het bestand `%s': %s\n"
|
||||
|
@ -96,44 +96,58 @@ msgstr "Verbindingen:"
|
|||
|
||||
#: src/connection.c:124
|
||||
#, c-format
|
||||
msgid " %s at %s options %lx socket %d status %04x"
|
||||
msgstr " %s op %s opties %lx socket %d status %04x"
|
||||
msgid " %s at %s options %lx socket %d status %04x outbuf %d/%d/%d"
|
||||
msgstr " %s op %s opties %lx socket %d status %04x outbuf %d/%d/%d"
|
||||
|
||||
#: src/connection.c:128
|
||||
#: src/connection.c:129
|
||||
msgid "End of connections."
|
||||
msgstr "Einde van verbindingen."
|
||||
|
||||
#: src/meta.c:45
|
||||
#: src/meta.c:44
|
||||
#, c-format
|
||||
msgid "Sending %d bytes of metadata to %s (%s)"
|
||||
msgstr "Verzenden van %d bytes metadata naar %s (%s)"
|
||||
|
||||
#: src/meta.c:51
|
||||
#: src/meta.c:66
|
||||
#, c-format
|
||||
msgid "Error while encrypting metadata to %s (%s): %s"
|
||||
msgstr "Fout tijdens versleutelen van metadata naar %s (%s): %s"
|
||||
|
||||
#: src/meta.c:64 src/meta.c:117
|
||||
#: src/meta.c:70
|
||||
msgid "Encrypted data too long! Heap corrupted!"
|
||||
msgstr "Versleutelde data te lang! Heap gecorrumpeerd!"
|
||||
|
||||
#: src/meta.c:86
|
||||
#, c-format
|
||||
msgid "Flushing %d bytes to %s (%s)"
|
||||
msgstr "Wegschrijven %d bytes naar %s (%s)"
|
||||
|
||||
#: src/meta.c:93 src/meta.c:156
|
||||
#, c-format
|
||||
msgid "Connection closed by %s (%s)"
|
||||
msgstr "Verbinding beëindigd door %s (%s)"
|
||||
|
||||
#: src/meta.c:69
|
||||
#: src/meta.c:99
|
||||
#, c-format
|
||||
msgid "Sending meta data to %s (%s) failed: %s"
|
||||
msgstr "Fout tijdens verzenden metadata naar %s (%s): %s"
|
||||
msgid "Flushing %d bytes to %s (%s) would block"
|
||||
msgstr "Wegschrijven %d bytes naar %s (%s) zou blokkeren"
|
||||
|
||||
#: src/meta.c:122
|
||||
#: src/meta.c:104
|
||||
#, c-format
|
||||
msgid "Flushing meta data to %s (%s) failed: %s"
|
||||
msgstr "Wegschrijven metadata naar %s (%s) faalde: %s"
|
||||
|
||||
#: src/meta.c:161
|
||||
#, c-format
|
||||
msgid "Metadata socket read error for %s (%s): %s"
|
||||
msgstr "Fout op metadata socket voor %s (%s) tijdens lezen: %s"
|
||||
|
||||
#: src/meta.c:137
|
||||
#: src/meta.c:176
|
||||
#, c-format
|
||||
msgid "Error while decrypting metadata from %s (%s): %s"
|
||||
msgstr "Fout tijdens ontsleutelen van metadata van %s (%s): %s"
|
||||
|
||||
#: src/meta.c:190
|
||||
#: src/meta.c:229
|
||||
#, c-format
|
||||
msgid "Metadata read buffer overflow for %s (%s)"
|
||||
msgstr "Metadata leesbuffer overloop voor %s (%s)"
|
||||
|
@ -147,130 +161,135 @@ msgstr "Verwijderen onbereikbare nodes"
|
|||
msgid "Purging node %s (%s)"
|
||||
msgstr "Verwijdering node %s (%s)"
|
||||
|
||||
#: src/net.c:170
|
||||
#: src/net.c:173
|
||||
#, c-format
|
||||
msgid "Closing connection with %s (%s)"
|
||||
msgstr "Beëindigen verbinding met %s (%s)"
|
||||
|
||||
#: src/net.c:235
|
||||
#, c-format
|
||||
msgid "%s (%s) didn't respond to PING"
|
||||
msgstr "%s (%s) antwoordde niet op ping"
|
||||
|
||||
#: src/net.c:244
|
||||
#, c-format
|
||||
msgid "%s (%s) didn't respond to PING in %ld seconds"
|
||||
msgstr "%s (%s) antwoordde niet binnen %ld seconden op PING"
|
||||
|
||||
#: src/net.c:253
|
||||
#, c-format
|
||||
msgid "Old connection_t for %s (%s) status %04x still lingering, deleting..."
|
||||
msgstr ""
|
||||
"Oude connection_t voor %s (%s) status %04x nog steeds aanwezig, wordt "
|
||||
"verwijderd..."
|
||||
|
||||
#: src/net.c:249
|
||||
#: src/net.c:258
|
||||
#, c-format
|
||||
msgid "Timeout from %s (%s) during authentication"
|
||||
msgstr "Timeout van %s (%s) tijdens authenticatie"
|
||||
|
||||
#: src/net.c:297
|
||||
#: src/net.c:273
|
||||
#, c-format
|
||||
msgid "%s (%s) could not flush for %ld seconds (%d bytes remaining)"
|
||||
msgstr "%s (%s) kon niet binnen %ld seconden wegschrijven (%d bytes over)"
|
||||
|
||||
#: src/net.c:318
|
||||
#, c-format
|
||||
msgid "Error while connecting to %s (%s): %s"
|
||||
msgstr "Fout tijdens schrijven naar %s (%s): %s"
|
||||
|
||||
#: src/net.c:353
|
||||
#: src/net.c:383
|
||||
#, c-format
|
||||
msgid "Error while waiting for input: %s"
|
||||
msgstr "Fout tijdens wachten op invoer: %s"
|
||||
|
||||
#: src/net.c:384
|
||||
#: src/net.c:414
|
||||
msgid "Regenerating symmetric key"
|
||||
msgstr "Hergenereren symmetrische sleutel"
|
||||
|
||||
#: src/net.c:401
|
||||
#: src/net.c:431
|
||||
msgid "Flushing event queue"
|
||||
msgstr "Legen taakrij"
|
||||
|
||||
#: src/net.c:425
|
||||
#: src/net.c:455
|
||||
msgid "Unable to reread configuration file, exitting."
|
||||
msgstr "Kan configuratiebestand niet herlezen, beëindigen."
|
||||
|
||||
#: src/net_packet.c:75
|
||||
#: src/net_packet.c:80
|
||||
#, c-format
|
||||
msgid "No response to MTU probes from %s (%s)"
|
||||
msgstr "Geen antwoord van %s (%s) op MTU probes"
|
||||
|
||||
#: src/net_packet.c:82
|
||||
#: src/net_packet.c:87
|
||||
#, c-format
|
||||
msgid "Fixing MTU of %s (%s) to %d after %d probes"
|
||||
msgstr "MTU van %s (%s) vastgezet op %d na %d probes"
|
||||
|
||||
#: src/net_packet.c:94
|
||||
#: src/net_packet.c:99
|
||||
#, c-format
|
||||
msgid "Sending MTU probe length %d to %s (%s)"
|
||||
msgstr "Verzending MTU probe lengte %d naar %s (%s)"
|
||||
|
||||
#: src/net_packet.c:107
|
||||
#: src/net_packet.c:112
|
||||
#, c-format
|
||||
msgid "Got MTU probe length %d from %s (%s)"
|
||||
msgstr "Kreeg MTU probe met verkeerde lengte %d van %s (%s)"
|
||||
|
||||
#: src/net_packet.c:164
|
||||
#: src/net_packet.c:169
|
||||
#, c-format
|
||||
msgid "Received packet of %d bytes from %s (%s)"
|
||||
msgstr "Ontvangst pakket van %d bytes van %s (%s)"
|
||||
|
||||
#: src/net_packet.c:185 src/route.c:92
|
||||
#: src/net_packet.c:190 src/route.c:92
|
||||
#, c-format
|
||||
msgid "Got too short packet from %s (%s)"
|
||||
msgstr "Kreeg te kort pakket van %s (%s)"
|
||||
|
||||
#: src/net_packet.c:198
|
||||
#: src/net_packet.c:203
|
||||
#, c-format
|
||||
msgid "Got unauthenticated packet from %s (%s)"
|
||||
msgstr "Kreeg niet-geauthenticeerd pakket van %s (%s)"
|
||||
|
||||
#: src/net_packet.c:213
|
||||
#: src/net_packet.c:218
|
||||
#, c-format
|
||||
msgid "Error decrypting packet from %s (%s): %s"
|
||||
msgstr "Fout tijdens ontsleutelen pakket van %s (%s): %s"
|
||||
|
||||
#: src/net_packet.c:229
|
||||
#: src/net_packet.c:234
|
||||
#, c-format
|
||||
msgid "Lost %d packets from %s (%s)"
|
||||
msgstr "%d pakketten van %s (%s) verloren"
|
||||
|
||||
#: src/net_packet.c:235
|
||||
#: src/net_packet.c:240
|
||||
#, c-format
|
||||
msgid "Got late or replayed packet from %s (%s), seqno %d, last received %d"
|
||||
msgstr ""
|
||||
"Kreeg laat of gedupliceerd pakket van %s (%s), seqno %d, laatste ontvangen %d"
|
||||
|
||||
#: src/net_packet.c:259
|
||||
#: src/net_packet.c:264
|
||||
#, c-format
|
||||
msgid "Error while uncompressing packet from %s (%s)"
|
||||
msgstr "Fout tijdens decomprimeren pakket van %s (%s)"
|
||||
|
||||
#: src/net_packet.c:307
|
||||
#: src/net_packet.c:313
|
||||
#, c-format
|
||||
msgid "No valid key known yet for %s (%s), queueing packet"
|
||||
msgstr ""
|
||||
"Nog geen geldige sleutel bekend voor %s (%s), pakket wordt in wachtrij gezet"
|
||||
|
||||
#: src/net_packet.c:336
|
||||
#: src/net_packet.c:342
|
||||
#, c-format
|
||||
msgid "Error while compressing packet to %s (%s)"
|
||||
msgstr "Fout tijdens comprimeren pakket naar %s (%s)"
|
||||
|
||||
#: src/net_packet.c:358
|
||||
#: src/net_packet.c:364
|
||||
#, c-format
|
||||
msgid "Error while encrypting packet to %s (%s): %s"
|
||||
msgstr "Fout tijdens versleutelen pakket naar %s (%s): %s"
|
||||
|
||||
#: src/net_packet.c:390
|
||||
#: src/net_packet.c:396
|
||||
#, c-format
|
||||
msgid "Setting outgoing packet priority to %d"
|
||||
msgstr "Instellen prioriteit uitgaand pakket op %d"
|
||||
|
||||
#: src/net_packet.c:392 src/net_setup.c:481 src/net_socket.c:73
|
||||
#: src/net_socket.c:124 src/net_socket.c:153 src/tincd.c:434 src/tincd.c:468
|
||||
#: src/process.c:198 src/process.c:231 src/process.c:428 src/bsd/device.c:93
|
||||
#: src/net_packet.c:398 src/net_setup.c:478 src/net_socket.c:129
|
||||
#: src/net_socket.c:158 src/tincd.c:440 src/tincd.c:477 src/process.c:198
|
||||
#: src/process.c:231 src/process.c:428 src/bsd/device.c:93
|
||||
#: src/bsd/device.c:112 src/cygwin/device.c:140 src/cygwin/device.c:171
|
||||
#: src/mingw/device.c:66 src/mingw/device.c:75 src/mingw/device.c:80
|
||||
#: src/mingw/device.c:236 src/mingw/device.c:243 src/mingw/device.c:248
|
||||
|
@ -281,42 +300,42 @@ msgstr "Instellen prioriteit uitgaand pakket op %d"
|
|||
msgid "System call `%s' failed: %s"
|
||||
msgstr "Systeemaanroep `%s' mislukte: %s"
|
||||
|
||||
#: src/net_packet.c:403
|
||||
#: src/net_packet.c:409
|
||||
#, c-format
|
||||
msgid "Error sending packet to %s (%s): %s"
|
||||
msgstr "Fout tijdens verzenden pakket naar %s (%s): %s"
|
||||
|
||||
#: src/net_packet.c:426
|
||||
#: src/net_packet.c:432
|
||||
#, c-format
|
||||
msgid "Sending packet of %d bytes to %s (%s)"
|
||||
msgstr "Verzending pakket van %d bytes naar %s (%s)"
|
||||
|
||||
#: src/net_packet.c:430
|
||||
#: src/net_packet.c:436
|
||||
#, c-format
|
||||
msgid "Node %s (%s) is not reachable"
|
||||
msgstr "Node %s (%s) is niet bereikbaar"
|
||||
|
||||
#: src/net_packet.c:438
|
||||
#: src/net_packet.c:444
|
||||
#, c-format
|
||||
msgid "Sending packet to %s via %s (%s)"
|
||||
msgstr "Verzending pakket naar %s via %s (%s)"
|
||||
|
||||
#: src/net_packet.c:457
|
||||
#: src/net_packet.c:463
|
||||
#, c-format
|
||||
msgid "Broadcasting packet of %d bytes from %s (%s)"
|
||||
msgstr "Verspreiding pakket van %d bytes van %s (%s)"
|
||||
|
||||
#: src/net_packet.c:480
|
||||
#: src/net_packet.c:483
|
||||
#, c-format
|
||||
msgid "Flushing queue for %s (%s)"
|
||||
msgstr "Legen van wachtrij voor %s (%s)"
|
||||
|
||||
#: src/net_packet.c:502
|
||||
#: src/net_packet.c:505
|
||||
#, c-format
|
||||
msgid "Receiving packet failed: %s"
|
||||
msgstr "Ontvangst pakket mislukt: %s"
|
||||
|
||||
#: src/net_packet.c:512
|
||||
#: src/net_packet.c:515
|
||||
#, c-format
|
||||
msgid "Received UDP packet from unknown source %s"
|
||||
msgstr "Ontvangst UDP pakket van onbekende oorsprong %s"
|
||||
|
@ -377,145 +396,145 @@ msgstr "Ongeldige naam voor mijzelf!"
|
|||
msgid "Cannot open host configuration file for myself!"
|
||||
msgstr "Kan host configuratie bestand voor mijzelf niet openen!"
|
||||
|
||||
#: src/net_setup.c:307
|
||||
#: src/net_setup.c:305
|
||||
msgid "Invalid routing mode!"
|
||||
msgstr "Ongeldige routing modus!"
|
||||
|
||||
#: src/net_setup.c:318
|
||||
#: src/net_setup.c:316
|
||||
msgid "PriorityInheritance not supported on this platform"
|
||||
msgstr "PriorityInheritance wordt niet ondersteund op dit platform"
|
||||
|
||||
#: src/net_setup.c:326
|
||||
#: src/net_setup.c:324
|
||||
msgid "Bogus maximum timeout!"
|
||||
msgstr "Onzinnige maximum timeout!"
|
||||
|
||||
#: src/net_setup.c:340
|
||||
#: src/net_setup.c:338
|
||||
msgid "Invalid address family!"
|
||||
msgstr "Ongeldige adresfamilie!"
|
||||
|
||||
#: src/net_setup.c:358
|
||||
#: src/net_setup.c:356
|
||||
msgid "Unrecognized cipher type!"
|
||||
msgstr "Onbekend cipher type!"
|
||||
|
||||
#: src/net_setup.c:383 src/protocol_auth.c:192
|
||||
#: src/net_setup.c:381 src/protocol_auth.c:194
|
||||
#, c-format
|
||||
msgid "Error during initialisation of cipher for %s (%s): %s"
|
||||
msgstr "Fout tijdens initialisatie van cipher voor %s (%s): %s"
|
||||
|
||||
#: src/net_setup.c:400
|
||||
#: src/net_setup.c:398
|
||||
msgid "Unrecognized digest type!"
|
||||
msgstr "Onbekend digest type!"
|
||||
|
||||
#: src/net_setup.c:413
|
||||
#: src/net_setup.c:411
|
||||
msgid "MAC length exceeds size of digest!"
|
||||
msgstr "MAC lengte is groter dan dat van digest!"
|
||||
|
||||
#: src/net_setup.c:416
|
||||
#: src/net_setup.c:414
|
||||
msgid "Bogus MAC length!"
|
||||
msgstr "Onzinnige MAC lengte!"
|
||||
|
||||
#: src/net_setup.c:430
|
||||
#: src/net_setup.c:428
|
||||
msgid "Bogus compression level!"
|
||||
msgstr "Onzinnig compressieniveau!"
|
||||
|
||||
#: src/net_setup.c:503
|
||||
#: src/net_setup.c:500
|
||||
#, c-format
|
||||
msgid "Listening on %s"
|
||||
msgstr "Luisterend op %s"
|
||||
|
||||
#: src/net_setup.c:514
|
||||
#: src/net_setup.c:511
|
||||
msgid "Ready"
|
||||
msgstr "Gereed"
|
||||
|
||||
#: src/net_setup.c:516
|
||||
#: src/net_setup.c:513
|
||||
msgid "Unable to create any listening socket!"
|
||||
msgstr "Kon geen enkele luistersocket aanmaken!"
|
||||
|
||||
#: src/net_socket.c:63
|
||||
#, c-format
|
||||
msgid "fcntl for %s: %s"
|
||||
msgstr "fcntl voor %s: %s"
|
||||
|
||||
#: src/net_socket.c:90
|
||||
#, c-format
|
||||
msgid "Creating metasocket failed: %s"
|
||||
msgstr "Aanmaak van metasocket mislukt: %s"
|
||||
|
||||
#: src/net_socket.c:104 src/net_socket.c:196
|
||||
#: src/net_socket.c:109 src/net_socket.c:201
|
||||
#, c-format
|
||||
msgid "Can't bind to interface %s: %s"
|
||||
msgstr "Kan niet aan interface %s binden: %s"
|
||||
|
||||
#: src/net_socket.c:109
|
||||
#: src/net_socket.c:114
|
||||
msgid "BindToInterface not supported on this platform"
|
||||
msgstr "BindToInterface wordt niet ondersteund op dit platform"
|
||||
|
||||
#: src/net_socket.c:116
|
||||
#: src/net_socket.c:121
|
||||
#, c-format
|
||||
msgid "Can't bind to %s/tcp: %s"
|
||||
msgstr "Kan niet aan %s/tcp binden: %s"
|
||||
|
||||
#: src/net_socket.c:143
|
||||
#: src/net_socket.c:148
|
||||
#, c-format
|
||||
msgid "Creating UDP socket failed: %s"
|
||||
msgstr "Aanmaak UDP socket mislukte: %s"
|
||||
|
||||
#: src/net_socket.c:207
|
||||
#: src/net_socket.c:212
|
||||
#, c-format
|
||||
msgid "Can't bind to %s/udp: %s"
|
||||
msgstr "Kan niet aan %s/udp binden: %s"
|
||||
|
||||
#: src/net_socket.c:234
|
||||
#: src/net_socket.c:239
|
||||
#, c-format
|
||||
msgid "Trying to re-establish outgoing connection in %d seconds"
|
||||
msgstr "Poging tot herstellen van uitgaande verbinding over %d seconden"
|
||||
|
||||
#: src/net_socket.c:242
|
||||
#: src/net_socket.c:247
|
||||
#, c-format
|
||||
msgid "Connected to %s (%s)"
|
||||
msgstr "Verbonden met %s (%s)"
|
||||
|
||||
#: src/net_socket.c:249 src/net_socket.c:333 src/net_socket.c:445
|
||||
#, c-format
|
||||
msgid "fcntl for %s: %s"
|
||||
msgstr "fcntl voor %s: %s"
|
||||
|
||||
#: src/net_socket.c:269
|
||||
#: src/net_socket.c:266
|
||||
#, c-format
|
||||
msgid "Could not set up a meta connection to %s"
|
||||
msgstr "Kon geen metaverbinding aangaan met %s"
|
||||
|
||||
#: src/net_socket.c:303
|
||||
#: src/net_socket.c:300
|
||||
#, c-format
|
||||
msgid "Trying to connect to %s (%s)"
|
||||
msgstr "Poging tot verbinden met %s (%s)"
|
||||
|
||||
#: src/net_socket.c:309
|
||||
#: src/net_socket.c:306
|
||||
#, c-format
|
||||
msgid "Creating socket for %s failed: %s"
|
||||
msgstr "Aanmaken socket voor %s mislukt: %s"
|
||||
|
||||
#: src/net_socket.c:349
|
||||
#: src/net_socket.c:328
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/net_socket.c:370
|
||||
#: src/net_socket.c:349
|
||||
#, c-format
|
||||
msgid "Already connected to %s"
|
||||
msgstr "Reeds verbonden met %s"
|
||||
|
||||
#: src/net_socket.c:389
|
||||
#: src/net_socket.c:368
|
||||
#, c-format
|
||||
msgid "No address specified for %s"
|
||||
msgstr "Geen adres gespecificeerd voor %s"
|
||||
|
||||
#: src/net_socket.c:419
|
||||
#: src/net_socket.c:399
|
||||
#, c-format
|
||||
msgid "Accepting a new connection failed: %s"
|
||||
msgstr "Aanname van nieuwe verbinding is mislukt: %s"
|
||||
|
||||
#: src/net_socket.c:438
|
||||
#: src/net_socket.c:418
|
||||
#, c-format
|
||||
msgid "Connection from %s"
|
||||
msgstr "Verbinding van %s"
|
||||
|
||||
#: src/net_socket.c:471
|
||||
#: src/net_socket.c:443
|
||||
#, c-format
|
||||
msgid "Invalid name for outgoing connection in %s line %d"
|
||||
msgstr "Ongeldige naam voor uitgaande verbinding in %s regel %d"
|
||||
|
@ -615,11 +634,11 @@ msgstr "Verzoek reeds gezien"
|
|||
msgid "Aging past requests: deleted %d, left %d"
|
||||
msgstr "Veroudering vorige verzoeken: %d gewist, %d overgebleven"
|
||||
|
||||
#: src/protocol_auth.c:58 src/protocol_auth.c:212 src/protocol_auth.c:341
|
||||
#: src/protocol_auth.c:408 src/protocol_auth.c:534 src/protocol_edge.c:73
|
||||
#: src/protocol_auth.c:58 src/protocol_auth.c:214 src/protocol_auth.c:345
|
||||
#: src/protocol_auth.c:412 src/protocol_auth.c:538 src/protocol_edge.c:73
|
||||
#: src/protocol_edge.c:188 src/protocol_key.c:62 src/protocol_key.c:105
|
||||
#: src/protocol_key.c:172 src/protocol_misc.c:54 src/protocol_misc.c:83
|
||||
#: src/protocol_misc.c:171 src/protocol_subnet.c:58 src/protocol_subnet.c:170
|
||||
#: src/protocol_key.c:173 src/protocol_misc.c:56 src/protocol_misc.c:85
|
||||
#: src/protocol_misc.c:176 src/protocol_subnet.c:58 src/protocol_subnet.c:170
|
||||
#, c-format
|
||||
msgid "Got bad %s from %s (%s)"
|
||||
msgstr "Kreeg verkeerde %s van %s (%s)"
|
||||
|
@ -647,76 +666,76 @@ msgstr "Ander %s (%s) gebruikt incompatibele versie %d"
|
|||
msgid "Peer %s had unknown identity (%s)"
|
||||
msgstr "Ander %s heeft onbekende identiteit (%s)"
|
||||
|
||||
#: src/protocol_auth.c:156
|
||||
#: src/protocol_auth.c:158
|
||||
#, c-format
|
||||
msgid "Generated random meta key (unencrypted): %s"
|
||||
msgstr "Willekeurige meta sleutel aangemaakt (niet versleuteld): %s"
|
||||
|
||||
#: src/protocol_auth.c:168 src/protocol_auth.c:241
|
||||
#: src/protocol_auth.c:170 src/protocol_auth.c:243
|
||||
#, c-format
|
||||
msgid "Error during encryption of meta key for %s (%s)"
|
||||
msgstr "Fout tijdens versleutelen van meta key voor %s (%s)"
|
||||
|
||||
#: src/protocol_auth.c:222 src/protocol_auth.c:351 src/protocol_auth.c:416
|
||||
#: src/protocol_auth.c:438
|
||||
#: src/protocol_auth.c:224 src/protocol_auth.c:355 src/protocol_auth.c:420
|
||||
#: src/protocol_auth.c:442
|
||||
#, c-format
|
||||
msgid "Possible intruder %s (%s): %s"
|
||||
msgstr "Mogelijke indringer %s (%s): %s"
|
||||
|
||||
#: src/protocol_auth.c:249
|
||||
#: src/protocol_auth.c:251
|
||||
#, c-format
|
||||
msgid "Received random meta key (unencrypted): %s"
|
||||
msgstr "Ontving willekeurige meta key (niet versleuteld): %s"
|
||||
|
||||
#: src/protocol_auth.c:260
|
||||
#: src/protocol_auth.c:262
|
||||
#, c-format
|
||||
msgid "%s (%s) uses unknown cipher!"
|
||||
msgstr "%s (%s) gebruikt onbekende cipher!"
|
||||
|
||||
#: src/protocol_auth.c:268
|
||||
#: src/protocol_auth.c:270
|
||||
#, c-format
|
||||
msgid "Error during initialisation of cipher from %s (%s): %s"
|
||||
msgstr "Fout tijdens initalisatie van cipher van %s (%s): %s"
|
||||
|
||||
#: src/protocol_auth.c:284 src/protocol_key.c:242
|
||||
#: src/protocol_auth.c:286 src/protocol_key.c:243
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses unknown digest!"
|
||||
msgstr "Node %s (%s) gebruikt onbekende digest!"
|
||||
|
||||
#: src/protocol_auth.c:289
|
||||
#: src/protocol_auth.c:291
|
||||
#, c-format
|
||||
msgid "%s (%s) uses bogus MAC length!"
|
||||
msgstr "%s (%s) gebruikt onzinnige MAC lengte!"
|
||||
|
||||
#: src/protocol_auth.c:384
|
||||
#: src/protocol_auth.c:388
|
||||
#, c-format
|
||||
msgid "Error during calculation of response for %s (%s): %s"
|
||||
msgstr "Fout tijdens berekenen van antwoord voor %s (%s): %s"
|
||||
|
||||
#: src/protocol_auth.c:417
|
||||
#: src/protocol_auth.c:421
|
||||
msgid "wrong challenge reply length"
|
||||
msgstr "verkeerde lengte antwoord op uitdaging"
|
||||
|
||||
#: src/protocol_auth.c:430
|
||||
#: src/protocol_auth.c:434
|
||||
#, c-format
|
||||
msgid "Error during calculation of response from %s (%s): %s"
|
||||
msgstr "Fout tijdens narekenen van antwoord van %s (%s): %s"
|
||||
|
||||
#: src/protocol_auth.c:439
|
||||
#: src/protocol_auth.c:443
|
||||
msgid "wrong challenge reply"
|
||||
msgstr "verkeerd antwoord op uitdaging"
|
||||
|
||||
#: src/protocol_auth.c:444
|
||||
#: src/protocol_auth.c:448
|
||||
#, c-format
|
||||
msgid "Expected challenge reply: %s"
|
||||
msgstr "Verwachtte antwoord op uitdaging: %s"
|
||||
|
||||
#: src/protocol_auth.c:550
|
||||
#: src/protocol_auth.c:554
|
||||
#, c-format
|
||||
msgid "Established a second connection with %s (%s), closing old connection"
|
||||
msgstr "Tweede verbinding met %s (%s) gemaakt, oude verbinding wordt gesloten"
|
||||
|
||||
#: src/protocol_auth.c:573
|
||||
#: src/protocol_auth.c:577
|
||||
#, c-format
|
||||
msgid "Connection with %s (%s) activated"
|
||||
msgstr "Verbinding met %s (%s) geactiveerd"
|
||||
|
@ -757,14 +776,14 @@ msgstr "Kreeg %s van %s (%s) voor onszelf"
|
|||
msgid "Got %s from %s (%s) origin %s which does not exist"
|
||||
msgstr "Kreeg %s van %s (%s) herkomst %s welke niet bestaat"
|
||||
|
||||
#: src/protocol_key.c:113 src/protocol_key.c:180
|
||||
#: src/protocol_key.c:113 src/protocol_key.c:181
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Got %s from %s (%s) origin %s which does not exist in our connection list"
|
||||
msgstr ""
|
||||
"Kreeg %s van %s (%s) herkomst %s welke niet voorkomt in de verbindingslijst"
|
||||
|
||||
#: src/protocol_key.c:121 src/protocol_key.c:188
|
||||
#: src/protocol_key.c:121 src/protocol_key.c:189
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Got %s from %s (%s) destination %s which does not exist in our connection "
|
||||
|
@ -772,37 +791,37 @@ msgid ""
|
|||
msgstr ""
|
||||
"Kreeg %s van %s (%s) doel %s welke niet voorkomt in de verbindingslijst"
|
||||
|
||||
#: src/protocol_key.c:222
|
||||
#: src/protocol_key.c:223
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses unknown cipher!"
|
||||
msgstr "Node %s (%s) gebruikt onbekende cipher!"
|
||||
|
||||
#: src/protocol_key.c:228
|
||||
#: src/protocol_key.c:229
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses wrong keylength!"
|
||||
msgstr "Node %s (%s) gebruikt verkeerde lengte sleutel!"
|
||||
|
||||
#: src/protocol_key.c:248
|
||||
#: src/protocol_key.c:249
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses bogus MAC length!"
|
||||
msgstr "Node %s (%s) gebruikt onzinnige MAC lengte!"
|
||||
|
||||
#: src/protocol_key.c:257
|
||||
#: src/protocol_key.c:258
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses bogus compression level!"
|
||||
msgstr "Node %s (%s) gebruikt onzinnig compressieniveau!"
|
||||
|
||||
#: src/protocol_key.c:265
|
||||
#: src/protocol_key.c:266
|
||||
#, c-format
|
||||
msgid "Error during initialisation of key from %s (%s): %s"
|
||||
msgstr "Fout tijdens initialisatie van sleutel van %s (%s): %s"
|
||||
|
||||
#: src/protocol_misc.c:59
|
||||
#: src/protocol_misc.c:61
|
||||
#, c-format
|
||||
msgid "Status message from %s (%s): %d: %s"
|
||||
msgstr "Statusmelding van %s (%s): %d: %s"
|
||||
|
||||
#: src/protocol_misc.c:88
|
||||
#: src/protocol_misc.c:90
|
||||
#, c-format
|
||||
msgid "Error message from %s (%s): %d: %s"
|
||||
msgstr "Foutmelding van %s (%s): %d: %s"
|
||||
|
@ -850,12 +869,12 @@ msgstr " %s eigenaar %s"
|
|||
msgid "End of subnet list."
|
||||
msgstr "Einde van subnet lijst."
|
||||
|
||||
#: src/tincd.c:108
|
||||
#: src/tincd.c:114
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Probeer `%s --help' voor meer informatie.\n"
|
||||
|
||||
#: src/tincd.c:111
|
||||
#: src/tincd.c:117
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [option]...\n"
|
||||
|
@ -864,7 +883,7 @@ msgstr ""
|
|||
"Gebruik: %s [optie]...\n"
|
||||
"\n"
|
||||
|
||||
#: src/tincd.c:112
|
||||
#: src/tincd.c:118
|
||||
#, c-format
|
||||
msgid ""
|
||||
" -c, --config=DIR Read configuration options from DIR.\n"
|
||||
|
@ -894,14 +913,14 @@ msgstr ""
|
|||
" --version Geef versie informatie en beëindig.\n"
|
||||
"\n"
|
||||
|
||||
#: src/tincd.c:123
|
||||
#: src/tincd.c:129
|
||||
#, c-format
|
||||
msgid "Report bugs to tinc@tinc-vpn.org.\n"
|
||||
msgstr ""
|
||||
"Meld fouten in het programma aan tinc@tinc-vpn.org;\n"
|
||||
"Meld fouten in de vertaling aan vertaling@nl.linux.org.\n"
|
||||
|
||||
#: src/tincd.c:179
|
||||
#: src/tincd.c:185
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid argument `%s'; SIGNAL must be a number or one of HUP, TERM, KILL, "
|
||||
|
@ -910,7 +929,7 @@ msgstr ""
|
|||
"Ongeldig argument `%s'; SIGNAAL moet een getal zijn of één van HUP, TERM, "
|
||||
"KILL, USR1, USR2, WINCH, INT of ALRM.\n"
|
||||
|
||||
#: src/tincd.c:201
|
||||
#: src/tincd.c:207
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid argument `%s'; BITS must be a number equal to or greater than 512.\n"
|
||||
|
@ -918,26 +937,26 @@ msgstr ""
|
|||
"Ongeldig argument `%s'; BITS moet een nummer zijn gelijk aan of groter dan "
|
||||
"512.\n"
|
||||
|
||||
#: src/tincd.c:294
|
||||
#: src/tincd.c:300
|
||||
#, c-format
|
||||
msgid "Generating %d bits keys:\n"
|
||||
msgstr "Bezig met genereren van een %d bits sleutel:\n"
|
||||
|
||||
#: src/tincd.c:298
|
||||
#: src/tincd.c:304
|
||||
#, c-format
|
||||
msgid "Error during key generation!\n"
|
||||
msgstr "Fout tijdens genereren sleutel!\n"
|
||||
|
||||
#: src/tincd.c:301
|
||||
#: src/tincd.c:307
|
||||
#, c-format
|
||||
msgid "Done.\n"
|
||||
msgstr "Klaar.\n"
|
||||
|
||||
#: src/tincd.c:304
|
||||
#: src/tincd.c:310
|
||||
msgid "private RSA key"
|
||||
msgstr "geheime RSA sleutel"
|
||||
|
||||
#: src/tincd.c:315 src/tincd.c:334
|
||||
#: src/tincd.c:321 src/tincd.c:340
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Appending key to existing contents.\n"
|
||||
|
@ -946,31 +965,31 @@ msgstr ""
|
|||
"Sleutel wordt toegevoegd aan bestaande inhoud.\n"
|
||||
"Let er op dat er slechts één sleutel in het bestand is.\n"
|
||||
|
||||
#: src/tincd.c:328
|
||||
#: src/tincd.c:334
|
||||
msgid "public RSA key"
|
||||
msgstr "openbare RSA sleutel"
|
||||
|
||||
#: src/tincd.c:387
|
||||
#: src/tincd.c:393
|
||||
msgid "Both netname and configuration directory given, using the latter..."
|
||||
msgstr ""
|
||||
"Zowel netnaam als configuratiemap zijn gegeven, laatste wordt gebruikt..."
|
||||
|
||||
#: src/tincd.c:408
|
||||
#: src/tincd.c:414
|
||||
#, c-format
|
||||
msgid "%s version %s (built %s %s, protocol %d)\n"
|
||||
msgstr "%s versie %s (gemaakt %s %s, protocol %d)\n"
|
||||
|
||||
#: src/tincd.c:410
|
||||
#: src/tincd.c:416
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Copyright (C) 1998-2005 Ivo Timmermans, Guus Sliepen and others.\n"
|
||||
"Copyright (C) 1998-2006 Ivo Timmermans, Guus Sliepen and others.\n"
|
||||
"See the AUTHORS file for a complete list.\n"
|
||||
"\n"
|
||||
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
|
||||
"and you are welcome to redistribute it under certain conditions;\n"
|
||||
"see the file COPYING for details.\n"
|
||||
msgstr ""
|
||||
"Copyright (C) 1998-2005 Ivo Timmermans, Guus Sliepen en anderen.\n"
|
||||
"Copyright (C) 1998-2006 Ivo Timmermans, Guus Sliepen en anderen.\n"
|
||||
"Zie het bestand AUTHORS voor een volledige lijst.\n"
|
||||
"\n"
|
||||
"tinc wordt gedistribueerd ZONDER ENIGE GARANTIE. Dit is vrije "
|
||||
|
@ -978,15 +997,15 @@ msgstr ""
|
|||
"en je bent welkom om het te distribueren onder bepaalde voorwaarden;\n"
|
||||
"zie het bestand COPYING voor details.\n"
|
||||
|
||||
#: src/tincd.c:438
|
||||
#: src/tincd.c:444
|
||||
msgid "mlockall() not supported on this platform!"
|
||||
msgstr "mlockall() wordt niet ondersteund op dit platform!"
|
||||
|
||||
#: src/tincd.c:462
|
||||
#: src/tincd.c:471
|
||||
msgid "Error initializing LZO compressor!"
|
||||
msgstr "Fout tijdens initialiseren LZO compressor!"
|
||||
|
||||
#: src/tincd.c:503
|
||||
#: src/tincd.c:512
|
||||
msgid "Terminating"
|
||||
msgstr "Beëindigen"
|
||||
|
||||
|
@ -1193,23 +1212,23 @@ msgstr "Nieuw MAC adres %hx:%hx:%hx:%hx:%hx:%hx geleerd"
|
|||
msgid "Subnet %s expired"
|
||||
msgstr "Subnet %s is verlopen"
|
||||
|
||||
#: src/route.c:184 src/route.c:337 src/route.c:479
|
||||
#: src/route.c:190 src/route.c:345 src/route.c:489
|
||||
#, c-format
|
||||
msgid "Packet looping back to %s (%s)!"
|
||||
msgstr "Pakket komt terug naar %s (%s)!"
|
||||
|
||||
#: src/route.c:283
|
||||
#: src/route.c:289
|
||||
#, c-format
|
||||
msgid "Length of packet (%d) doesn't match length in IPv4 header (%d)"
|
||||
msgid "Length of packet (%d) doesn't match length in IPv4 header (%zd)"
|
||||
msgstr ""
|
||||
"Lengte van pakket (%d) komt niet overeen met lengte in IPv4 header (%d)"
|
||||
"Lengte van pakket (%d) komt niet overeen met lengte in IPv4 header (%zd)"
|
||||
|
||||
#: src/route.c:287
|
||||
#: src/route.c:293
|
||||
#, c-format
|
||||
msgid "Fragmenting packet of %d bytes to %s (%s)"
|
||||
msgstr "Fragmentatie pakket van %d bytes naar %s (%s)"
|
||||
|
||||
#: src/route.c:325
|
||||
#: src/route.c:333
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Cannot route packet from %s (%s): unknown IPv4 destination address %d.%d.%d.%"
|
||||
|
@ -1217,12 +1236,12 @@ msgid ""
|
|||
msgstr ""
|
||||
"Kan pakket van %s (%s) niet routeren: onbekend IPv4 doeladres %d.%d.%d.%d"
|
||||
|
||||
#: src/route.c:350 src/route.c:489
|
||||
#: src/route.c:358 src/route.c:499
|
||||
#, c-format
|
||||
msgid "Packet for %s (%s) length %d larger than MTU %d"
|
||||
msgstr "Packet voor %s (%s) lengte %d groter dan MTU %d"
|
||||
|
||||
#: src/route.c:463
|
||||
#: src/route.c:473
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Cannot route packet from %s (%s): unknown IPv6 destination address %hx:%hx:%"
|
||||
|
@ -1231,26 +1250,26 @@ msgstr ""
|
|||
"Kan pakket van %s (%s) niet routeren: onbekend IPv6 doeladres %hx:%hx:%hx:%"
|
||||
"hx:%hx:%hx:%hx:%hx"
|
||||
|
||||
#: src/route.c:521
|
||||
#: src/route.c:531
|
||||
#, c-format
|
||||
msgid "Got neighbor solicitation request from %s (%s) while in router mode!"
|
||||
msgstr ""
|
||||
"Kreeg neighbor solicitation request van %s (%s) terwijl we in router mode "
|
||||
"werken!"
|
||||
|
||||
#: src/route.c:540
|
||||
#: src/route.c:550
|
||||
msgid ""
|
||||
"Cannot route packet: received unknown type neighbor solicitation request"
|
||||
msgstr ""
|
||||
"Kan pakket niet routeren: ontvangst van onbekend type neighbor solicitation "
|
||||
"verzoek"
|
||||
|
||||
#: src/route.c:559
|
||||
#: src/route.c:569
|
||||
msgid "Cannot route packet: checksum error for neighbor solicitation request"
|
||||
msgstr ""
|
||||
"Kan pakket niet routeren: checksum fout voor neighbor solicitation verzoek"
|
||||
|
||||
#: src/route.c:568
|
||||
#: src/route.c:578
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Cannot route packet: neighbor solicitation request for unknown address %hx:%"
|
||||
|
@ -1259,30 +1278,30 @@ msgstr ""
|
|||
"Kan pakket niet routeren: neighbor solicitation verzoek voor onbekend adres %"
|
||||
"hx:%hx:%hx:%hx:%hx:%hx:%hx:%hx"
|
||||
|
||||
#: src/route.c:655
|
||||
#: src/route.c:665
|
||||
#, c-format
|
||||
msgid "Got ARP request from %s (%s) while in router mode!"
|
||||
msgstr "Kreeg ARP request van %s (%s) terwijl we in router mode werken!"
|
||||
|
||||
#: src/route.c:672
|
||||
#: src/route.c:682
|
||||
msgid "Cannot route packet: received unknown type ARP request"
|
||||
msgstr "Kan pakket niet routeren: ontvangst van onbekend type ARP verzoek"
|
||||
|
||||
#: src/route.c:681
|
||||
#: src/route.c:691
|
||||
#, c-format
|
||||
msgid "Cannot route packet: ARP request for unknown address %d.%d.%d.%d"
|
||||
msgstr "Kan pakket niet routeren: ARP verzoek voor onbekend adres %d.%d.%d.%d"
|
||||
|
||||
#: src/route.c:737
|
||||
#: src/route.c:747
|
||||
#, c-format
|
||||
msgid "Cannot route packet from %s (%s): unknown type %hx"
|
||||
msgstr "Kan pakket van %s (%s) niet routeren: onbekend type %hx"
|
||||
|
||||
#: src/node.c:181
|
||||
#: src/node.c:183
|
||||
msgid "Nodes:"
|
||||
msgstr "Nodes:"
|
||||
|
||||
#: src/node.c:185
|
||||
#: src/node.c:187
|
||||
#, c-format
|
||||
msgid ""
|
||||
" %s at %s cipher %d digest %d maclength %d compression %d options %lx status "
|
||||
|
@ -1291,7 +1310,7 @@ msgstr ""
|
|||
" %s op %s cipher %d digest %d maclengte %d compressie %d opties %lx status %"
|
||||
"04x nexthop %s via %s pmtu %d (min %d max %d)"
|
||||
|
||||
#: src/node.c:192
|
||||
#: src/node.c:194
|
||||
msgid "End of nodes."
|
||||
msgstr "Einde van nodes."
|
||||
|
||||
|
@ -1308,12 +1327,12 @@ msgstr " %s naar %s op %s opties %lx gewicht %d"
|
|||
msgid "End of edges."
|
||||
msgstr "Einde van edges."
|
||||
|
||||
#: src/graph.c:261
|
||||
#: src/graph.c:264
|
||||
#, c-format
|
||||
msgid "Node %s (%s) became reachable"
|
||||
msgstr "Node %s (%s) werd bereikbaar"
|
||||
|
||||
#: src/graph.c:265
|
||||
#: src/graph.c:268
|
||||
#, c-format
|
||||
msgid "Node %s (%s) became unreachable"
|
||||
msgstr "Node %s (%s) is niet meer bereikbaar"
|
||||
|
|
339
po/tinc.pot
339
po/tinc.pot
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: tinc-devel@tinc-vpn.org\n"
|
||||
"POT-Creation-Date: 2005-05-04 20:25+0200\n"
|
||||
"POT-Creation-Date: 2006-11-14 13:46+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -20,60 +20,60 @@ msgstr ""
|
|||
msgid "(unable to format errormessage)"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:159
|
||||
#: src/conf.c:160
|
||||
#, c-format
|
||||
msgid "\"yes\" or \"no\" expected for configuration variable %s in %s line %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:175
|
||||
#: src/conf.c:176
|
||||
#, c-format
|
||||
msgid "Integer expected for configuration variable %s in %s line %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:209
|
||||
#: src/conf.c:210
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Hostname or IP address expected for configuration variable %s in %s line %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:225
|
||||
#: src/conf.c:226
|
||||
#, c-format
|
||||
msgid "Subnet expected for configuration variable %s in %s line %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:236
|
||||
#: src/conf.c:237
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Network address and prefix length do not match for configuration variable %s "
|
||||
"in %s line %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:336
|
||||
#: src/conf.c:337
|
||||
#, c-format
|
||||
msgid "Cannot open config file %s: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:390
|
||||
#: src/conf.c:391
|
||||
#, c-format
|
||||
msgid "No value for variable `%s' on line %d while reading config file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:421
|
||||
#: src/conf.c:422
|
||||
#, c-format
|
||||
msgid "Failed to read `%s': %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:443
|
||||
#: src/conf.c:444
|
||||
#, c-format
|
||||
msgid "Please enter a file to save %s to [%s]: "
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:450
|
||||
#: src/conf.c:451
|
||||
#, c-format
|
||||
msgid "Error while reading stdin: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conf.c:482
|
||||
#: src/conf.c:483
|
||||
#, c-format
|
||||
msgid "Error opening file `%s': %s\n"
|
||||
msgstr ""
|
||||
|
@ -92,44 +92,58 @@ msgstr ""
|
|||
|
||||
#: src/connection.c:124
|
||||
#, c-format
|
||||
msgid " %s at %s options %lx socket %d status %04x"
|
||||
msgid " %s at %s options %lx socket %d status %04x outbuf %d/%d/%d"
|
||||
msgstr ""
|
||||
|
||||
#: src/connection.c:128
|
||||
#: src/connection.c:129
|
||||
msgid "End of connections."
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:45
|
||||
#: src/meta.c:44
|
||||
#, c-format
|
||||
msgid "Sending %d bytes of metadata to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:51
|
||||
#: src/meta.c:66
|
||||
#, c-format
|
||||
msgid "Error while encrypting metadata to %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:64 src/meta.c:117
|
||||
#: src/meta.c:70
|
||||
msgid "Encrypted data too long! Heap corrupted!"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:86
|
||||
#, c-format
|
||||
msgid "Flushing %d bytes to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:93 src/meta.c:156
|
||||
#, c-format
|
||||
msgid "Connection closed by %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:69
|
||||
#: src/meta.c:99
|
||||
#, c-format
|
||||
msgid "Sending meta data to %s (%s) failed: %s"
|
||||
msgid "Flushing %d bytes to %s (%s) would block"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:122
|
||||
#: src/meta.c:104
|
||||
#, c-format
|
||||
msgid "Flushing meta data to %s (%s) failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:161
|
||||
#, c-format
|
||||
msgid "Metadata socket read error for %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:137
|
||||
#: src/meta.c:176
|
||||
#, c-format
|
||||
msgid "Error while decrypting metadata from %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/meta.c:190
|
||||
#: src/meta.c:229
|
||||
#, c-format
|
||||
msgid "Metadata read buffer overflow for %s (%s)"
|
||||
msgstr ""
|
||||
|
@ -143,126 +157,131 @@ msgstr ""
|
|||
msgid "Purging node %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:170
|
||||
#: src/net.c:173
|
||||
#, c-format
|
||||
msgid "Closing connection with %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:235
|
||||
#: src/net.c:244
|
||||
#, c-format
|
||||
msgid "%s (%s) didn't respond to PING"
|
||||
msgid "%s (%s) didn't respond to PING in %ld seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:244
|
||||
#: src/net.c:253
|
||||
#, c-format
|
||||
msgid "Old connection_t for %s (%s) status %04x still lingering, deleting..."
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:249
|
||||
#: src/net.c:258
|
||||
#, c-format
|
||||
msgid "Timeout from %s (%s) during authentication"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:297
|
||||
#: src/net.c:273
|
||||
#, c-format
|
||||
msgid "%s (%s) could not flush for %ld seconds (%d bytes remaining)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:318
|
||||
#, c-format
|
||||
msgid "Error while connecting to %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:353
|
||||
#: src/net.c:383
|
||||
#, c-format
|
||||
msgid "Error while waiting for input: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:384
|
||||
#: src/net.c:414
|
||||
msgid "Regenerating symmetric key"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:401
|
||||
#: src/net.c:431
|
||||
msgid "Flushing event queue"
|
||||
msgstr ""
|
||||
|
||||
#: src/net.c:425
|
||||
#: src/net.c:455
|
||||
msgid "Unable to reread configuration file, exitting."
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:75
|
||||
#: src/net_packet.c:80
|
||||
#, c-format
|
||||
msgid "No response to MTU probes from %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:82
|
||||
#: src/net_packet.c:87
|
||||
#, c-format
|
||||
msgid "Fixing MTU of %s (%s) to %d after %d probes"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:94
|
||||
#: src/net_packet.c:99
|
||||
#, c-format
|
||||
msgid "Sending MTU probe length %d to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:107
|
||||
#: src/net_packet.c:112
|
||||
#, c-format
|
||||
msgid "Got MTU probe length %d from %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:164
|
||||
#: src/net_packet.c:169
|
||||
#, c-format
|
||||
msgid "Received packet of %d bytes from %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:185 src/route.c:92
|
||||
#: src/net_packet.c:190 src/route.c:92
|
||||
#, c-format
|
||||
msgid "Got too short packet from %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:198
|
||||
#: src/net_packet.c:203
|
||||
#, c-format
|
||||
msgid "Got unauthenticated packet from %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:213
|
||||
#: src/net_packet.c:218
|
||||
#, c-format
|
||||
msgid "Error decrypting packet from %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:229
|
||||
#: src/net_packet.c:234
|
||||
#, c-format
|
||||
msgid "Lost %d packets from %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:235
|
||||
#: src/net_packet.c:240
|
||||
#, c-format
|
||||
msgid "Got late or replayed packet from %s (%s), seqno %d, last received %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:259
|
||||
#: src/net_packet.c:264
|
||||
#, c-format
|
||||
msgid "Error while uncompressing packet from %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:307
|
||||
#: src/net_packet.c:313
|
||||
#, c-format
|
||||
msgid "No valid key known yet for %s (%s), queueing packet"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:336
|
||||
#: src/net_packet.c:342
|
||||
#, c-format
|
||||
msgid "Error while compressing packet to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:358
|
||||
#: src/net_packet.c:364
|
||||
#, c-format
|
||||
msgid "Error while encrypting packet to %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:390
|
||||
#: src/net_packet.c:396
|
||||
#, c-format
|
||||
msgid "Setting outgoing packet priority to %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:392 src/net_setup.c:481 src/net_socket.c:73
|
||||
#: src/net_socket.c:124 src/net_socket.c:153 src/tincd.c:434 src/tincd.c:468
|
||||
#: src/process.c:198 src/process.c:231 src/process.c:428 src/bsd/device.c:93
|
||||
#: src/net_packet.c:398 src/net_setup.c:478 src/net_socket.c:129
|
||||
#: src/net_socket.c:158 src/tincd.c:440 src/tincd.c:477 src/process.c:198
|
||||
#: src/process.c:231 src/process.c:428 src/bsd/device.c:93
|
||||
#: src/bsd/device.c:112 src/cygwin/device.c:140 src/cygwin/device.c:171
|
||||
#: src/mingw/device.c:66 src/mingw/device.c:75 src/mingw/device.c:80
|
||||
#: src/mingw/device.c:236 src/mingw/device.c:243 src/mingw/device.c:248
|
||||
|
@ -273,42 +292,42 @@ msgstr ""
|
|||
msgid "System call `%s' failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:403
|
||||
#: src/net_packet.c:409
|
||||
#, c-format
|
||||
msgid "Error sending packet to %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:426
|
||||
#: src/net_packet.c:432
|
||||
#, c-format
|
||||
msgid "Sending packet of %d bytes to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:430
|
||||
#: src/net_packet.c:436
|
||||
#, c-format
|
||||
msgid "Node %s (%s) is not reachable"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:438
|
||||
#: src/net_packet.c:444
|
||||
#, c-format
|
||||
msgid "Sending packet to %s via %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:457
|
||||
#: src/net_packet.c:463
|
||||
#, c-format
|
||||
msgid "Broadcasting packet of %d bytes from %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:480
|
||||
#: src/net_packet.c:483
|
||||
#, c-format
|
||||
msgid "Flushing queue for %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:502
|
||||
#: src/net_packet.c:505
|
||||
#, c-format
|
||||
msgid "Receiving packet failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_packet.c:512
|
||||
#: src/net_packet.c:515
|
||||
#, c-format
|
||||
msgid "Received UDP packet from unknown source %s"
|
||||
msgstr ""
|
||||
|
@ -368,145 +387,145 @@ msgstr ""
|
|||
msgid "Cannot open host configuration file for myself!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:307
|
||||
#: src/net_setup.c:305
|
||||
msgid "Invalid routing mode!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:318
|
||||
#: src/net_setup.c:316
|
||||
msgid "PriorityInheritance not supported on this platform"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:326
|
||||
#: src/net_setup.c:324
|
||||
msgid "Bogus maximum timeout!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:340
|
||||
#: src/net_setup.c:338
|
||||
msgid "Invalid address family!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:358
|
||||
#: src/net_setup.c:356
|
||||
msgid "Unrecognized cipher type!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:383 src/protocol_auth.c:192
|
||||
#: src/net_setup.c:381 src/protocol_auth.c:194
|
||||
#, c-format
|
||||
msgid "Error during initialisation of cipher for %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:400
|
||||
#: src/net_setup.c:398
|
||||
msgid "Unrecognized digest type!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:413
|
||||
#: src/net_setup.c:411
|
||||
msgid "MAC length exceeds size of digest!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:416
|
||||
#: src/net_setup.c:414
|
||||
msgid "Bogus MAC length!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:430
|
||||
#: src/net_setup.c:428
|
||||
msgid "Bogus compression level!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:503
|
||||
#: src/net_setup.c:500
|
||||
#, c-format
|
||||
msgid "Listening on %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:514
|
||||
#: src/net_setup.c:511
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_setup.c:516
|
||||
#: src/net_setup.c:513
|
||||
msgid "Unable to create any listening socket!"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:63
|
||||
#, c-format
|
||||
msgid "fcntl for %s: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:90
|
||||
#, c-format
|
||||
msgid "Creating metasocket failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:104 src/net_socket.c:196
|
||||
#: src/net_socket.c:109 src/net_socket.c:201
|
||||
#, c-format
|
||||
msgid "Can't bind to interface %s: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:109
|
||||
#: src/net_socket.c:114
|
||||
msgid "BindToInterface not supported on this platform"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:116
|
||||
#: src/net_socket.c:121
|
||||
#, c-format
|
||||
msgid "Can't bind to %s/tcp: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:143
|
||||
#: src/net_socket.c:148
|
||||
#, c-format
|
||||
msgid "Creating UDP socket failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:207
|
||||
#: src/net_socket.c:212
|
||||
#, c-format
|
||||
msgid "Can't bind to %s/udp: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:234
|
||||
#: src/net_socket.c:239
|
||||
#, c-format
|
||||
msgid "Trying to re-establish outgoing connection in %d seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:242
|
||||
#: src/net_socket.c:247
|
||||
#, c-format
|
||||
msgid "Connected to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:249 src/net_socket.c:333 src/net_socket.c:445
|
||||
#, c-format
|
||||
msgid "fcntl for %s: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:269
|
||||
#: src/net_socket.c:266
|
||||
#, c-format
|
||||
msgid "Could not set up a meta connection to %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:303
|
||||
#: src/net_socket.c:300
|
||||
#, c-format
|
||||
msgid "Trying to connect to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:309
|
||||
#: src/net_socket.c:306
|
||||
#, c-format
|
||||
msgid "Creating socket for %s failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:349
|
||||
#: src/net_socket.c:328
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:370
|
||||
#: src/net_socket.c:349
|
||||
#, c-format
|
||||
msgid "Already connected to %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:389
|
||||
#: src/net_socket.c:368
|
||||
#, c-format
|
||||
msgid "No address specified for %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:419
|
||||
#: src/net_socket.c:399
|
||||
#, c-format
|
||||
msgid "Accepting a new connection failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:438
|
||||
#: src/net_socket.c:418
|
||||
#, c-format
|
||||
msgid "Connection from %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/net_socket.c:471
|
||||
#: src/net_socket.c:443
|
||||
#, c-format
|
||||
msgid "Invalid name for outgoing connection in %s line %d"
|
||||
msgstr ""
|
||||
|
@ -605,11 +624,11 @@ msgstr ""
|
|||
msgid "Aging past requests: deleted %d, left %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:58 src/protocol_auth.c:212 src/protocol_auth.c:341
|
||||
#: src/protocol_auth.c:408 src/protocol_auth.c:534 src/protocol_edge.c:73
|
||||
#: src/protocol_auth.c:58 src/protocol_auth.c:214 src/protocol_auth.c:345
|
||||
#: src/protocol_auth.c:412 src/protocol_auth.c:538 src/protocol_edge.c:73
|
||||
#: src/protocol_edge.c:188 src/protocol_key.c:62 src/protocol_key.c:105
|
||||
#: src/protocol_key.c:172 src/protocol_misc.c:54 src/protocol_misc.c:83
|
||||
#: src/protocol_misc.c:171 src/protocol_subnet.c:58 src/protocol_subnet.c:170
|
||||
#: src/protocol_key.c:173 src/protocol_misc.c:56 src/protocol_misc.c:85
|
||||
#: src/protocol_misc.c:176 src/protocol_subnet.c:58 src/protocol_subnet.c:170
|
||||
#, c-format
|
||||
msgid "Got bad %s from %s (%s)"
|
||||
msgstr ""
|
||||
|
@ -637,76 +656,76 @@ msgstr ""
|
|||
msgid "Peer %s had unknown identity (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:156
|
||||
#: src/protocol_auth.c:158
|
||||
#, c-format
|
||||
msgid "Generated random meta key (unencrypted): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:168 src/protocol_auth.c:241
|
||||
#: src/protocol_auth.c:170 src/protocol_auth.c:243
|
||||
#, c-format
|
||||
msgid "Error during encryption of meta key for %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:222 src/protocol_auth.c:351 src/protocol_auth.c:416
|
||||
#: src/protocol_auth.c:438
|
||||
#: src/protocol_auth.c:224 src/protocol_auth.c:355 src/protocol_auth.c:420
|
||||
#: src/protocol_auth.c:442
|
||||
#, c-format
|
||||
msgid "Possible intruder %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:249
|
||||
#: src/protocol_auth.c:251
|
||||
#, c-format
|
||||
msgid "Received random meta key (unencrypted): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:260
|
||||
#: src/protocol_auth.c:262
|
||||
#, c-format
|
||||
msgid "%s (%s) uses unknown cipher!"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:268
|
||||
#: src/protocol_auth.c:270
|
||||
#, c-format
|
||||
msgid "Error during initialisation of cipher from %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:284 src/protocol_key.c:242
|
||||
#: src/protocol_auth.c:286 src/protocol_key.c:243
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses unknown digest!"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:289
|
||||
#: src/protocol_auth.c:291
|
||||
#, c-format
|
||||
msgid "%s (%s) uses bogus MAC length!"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:384
|
||||
#: src/protocol_auth.c:388
|
||||
#, c-format
|
||||
msgid "Error during calculation of response for %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:417
|
||||
#: src/protocol_auth.c:421
|
||||
msgid "wrong challenge reply length"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:430
|
||||
#: src/protocol_auth.c:434
|
||||
#, c-format
|
||||
msgid "Error during calculation of response from %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:439
|
||||
#: src/protocol_auth.c:443
|
||||
msgid "wrong challenge reply"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:444
|
||||
#: src/protocol_auth.c:448
|
||||
#, c-format
|
||||
msgid "Expected challenge reply: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:550
|
||||
#: src/protocol_auth.c:554
|
||||
#, c-format
|
||||
msgid "Established a second connection with %s (%s), closing old connection"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_auth.c:573
|
||||
#: src/protocol_auth.c:577
|
||||
#, c-format
|
||||
msgid "Connection with %s (%s) activated"
|
||||
msgstr ""
|
||||
|
@ -746,50 +765,50 @@ msgstr ""
|
|||
msgid "Got %s from %s (%s) origin %s which does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_key.c:113 src/protocol_key.c:180
|
||||
#: src/protocol_key.c:113 src/protocol_key.c:181
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Got %s from %s (%s) origin %s which does not exist in our connection list"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_key.c:121 src/protocol_key.c:188
|
||||
#: src/protocol_key.c:121 src/protocol_key.c:189
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Got %s from %s (%s) destination %s which does not exist in our connection "
|
||||
"list"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_key.c:222
|
||||
#: src/protocol_key.c:223
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses unknown cipher!"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_key.c:228
|
||||
#: src/protocol_key.c:229
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses wrong keylength!"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_key.c:248
|
||||
#: src/protocol_key.c:249
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses bogus MAC length!"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_key.c:257
|
||||
#: src/protocol_key.c:258
|
||||
#, c-format
|
||||
msgid "Node %s (%s) uses bogus compression level!"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_key.c:265
|
||||
#: src/protocol_key.c:266
|
||||
#, c-format
|
||||
msgid "Error during initialisation of key from %s (%s): %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_misc.c:59
|
||||
#: src/protocol_misc.c:61
|
||||
#, c-format
|
||||
msgid "Status message from %s (%s): %d: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/protocol_misc.c:88
|
||||
#: src/protocol_misc.c:90
|
||||
#, c-format
|
||||
msgid "Error message from %s (%s): %d: %s"
|
||||
msgstr ""
|
||||
|
@ -836,19 +855,19 @@ msgstr ""
|
|||
msgid "End of subnet list."
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:108
|
||||
#: src/tincd.c:114
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:111
|
||||
#: src/tincd.c:117
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [option]...\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:112
|
||||
#: src/tincd.c:118
|
||||
#, c-format
|
||||
msgid ""
|
||||
" -c, --config=DIR Read configuration options from DIR.\n"
|
||||
|
@ -865,67 +884,67 @@ msgid ""
|
|||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:123
|
||||
#: src/tincd.c:129
|
||||
#, c-format
|
||||
msgid "Report bugs to tinc@tinc-vpn.org.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:179
|
||||
#: src/tincd.c:185
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid argument `%s'; SIGNAL must be a number or one of HUP, TERM, KILL, "
|
||||
"USR1, USR2, WINCH, INT or ALRM.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:201
|
||||
#: src/tincd.c:207
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid argument `%s'; BITS must be a number equal to or greater than 512.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:294
|
||||
#: src/tincd.c:300
|
||||
#, c-format
|
||||
msgid "Generating %d bits keys:\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:298
|
||||
#: src/tincd.c:304
|
||||
#, c-format
|
||||
msgid "Error during key generation!\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:301
|
||||
#: src/tincd.c:307
|
||||
#, c-format
|
||||
msgid "Done.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:304
|
||||
#: src/tincd.c:310
|
||||
msgid "private RSA key"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:315 src/tincd.c:334
|
||||
#: src/tincd.c:321 src/tincd.c:340
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Appending key to existing contents.\n"
|
||||
"Make sure only one key is stored in the file.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:328
|
||||
#: src/tincd.c:334
|
||||
msgid "public RSA key"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:387
|
||||
#: src/tincd.c:393
|
||||
msgid "Both netname and configuration directory given, using the latter..."
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:408
|
||||
#: src/tincd.c:414
|
||||
#, c-format
|
||||
msgid "%s version %s (built %s %s, protocol %d)\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:410
|
||||
#: src/tincd.c:416
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Copyright (C) 1998-2005 Ivo Timmermans, Guus Sliepen and others.\n"
|
||||
"Copyright (C) 1998-2006 Ivo Timmermans, Guus Sliepen and others.\n"
|
||||
"See the AUTHORS file for a complete list.\n"
|
||||
"\n"
|
||||
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
|
||||
|
@ -933,15 +952,15 @@ msgid ""
|
|||
"see the file COPYING for details.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:438
|
||||
#: src/tincd.c:444
|
||||
msgid "mlockall() not supported on this platform!"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:462
|
||||
#: src/tincd.c:471
|
||||
msgid "Error initializing LZO compressor!"
|
||||
msgstr ""
|
||||
|
||||
#: src/tincd.c:503
|
||||
#: src/tincd.c:512
|
||||
msgid "Terminating"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1146,92 +1165,92 @@ msgstr ""
|
|||
msgid "Subnet %s expired"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:184 src/route.c:337 src/route.c:479
|
||||
#: src/route.c:190 src/route.c:345 src/route.c:489
|
||||
#, c-format
|
||||
msgid "Packet looping back to %s (%s)!"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:283
|
||||
#: src/route.c:289
|
||||
#, c-format
|
||||
msgid "Length of packet (%d) doesn't match length in IPv4 header (%d)"
|
||||
msgid "Length of packet (%d) doesn't match length in IPv4 header (%zd)"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:287
|
||||
#: src/route.c:293
|
||||
#, c-format
|
||||
msgid "Fragmenting packet of %d bytes to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:325
|
||||
#: src/route.c:333
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Cannot route packet from %s (%s): unknown IPv4 destination address %d.%d.%d.%"
|
||||
"d"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:350 src/route.c:489
|
||||
#: src/route.c:358 src/route.c:499
|
||||
#, c-format
|
||||
msgid "Packet for %s (%s) length %d larger than MTU %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:463
|
||||
#: src/route.c:473
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Cannot route packet from %s (%s): unknown IPv6 destination address %hx:%hx:%"
|
||||
"hx:%hx:%hx:%hx:%hx:%hx"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:521
|
||||
#: src/route.c:531
|
||||
#, c-format
|
||||
msgid "Got neighbor solicitation request from %s (%s) while in router mode!"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:540
|
||||
#: src/route.c:550
|
||||
msgid ""
|
||||
"Cannot route packet: received unknown type neighbor solicitation request"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:559
|
||||
#: src/route.c:569
|
||||
msgid "Cannot route packet: checksum error for neighbor solicitation request"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:568
|
||||
#: src/route.c:578
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Cannot route packet: neighbor solicitation request for unknown address %hx:%"
|
||||
"hx:%hx:%hx:%hx:%hx:%hx:%hx"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:655
|
||||
#: src/route.c:665
|
||||
#, c-format
|
||||
msgid "Got ARP request from %s (%s) while in router mode!"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:672
|
||||
#: src/route.c:682
|
||||
msgid "Cannot route packet: received unknown type ARP request"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:681
|
||||
#: src/route.c:691
|
||||
#, c-format
|
||||
msgid "Cannot route packet: ARP request for unknown address %d.%d.%d.%d"
|
||||
msgstr ""
|
||||
|
||||
#: src/route.c:737
|
||||
#: src/route.c:747
|
||||
#, c-format
|
||||
msgid "Cannot route packet from %s (%s): unknown type %hx"
|
||||
msgstr ""
|
||||
|
||||
#: src/node.c:181
|
||||
#: src/node.c:183
|
||||
msgid "Nodes:"
|
||||
msgstr ""
|
||||
|
||||
#: src/node.c:185
|
||||
#: src/node.c:187
|
||||
#, c-format
|
||||
msgid ""
|
||||
" %s at %s cipher %d digest %d maclength %d compression %d options %lx status "
|
||||
"%04x nexthop %s via %s pmtu %d (min %d max %d)"
|
||||
msgstr ""
|
||||
|
||||
#: src/node.c:192
|
||||
#: src/node.c:194
|
||||
msgid "End of nodes."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1248,12 +1267,12 @@ msgstr ""
|
|||
msgid "End of edges."
|
||||
msgstr ""
|
||||
|
||||
#: src/graph.c:261
|
||||
#: src/graph.c:264
|
||||
#, c-format
|
||||
msgid "Node %s (%s) became reachable"
|
||||
msgstr ""
|
||||
|
||||
#: src/graph.c:265
|
||||
#: src/graph.c:268
|
||||
#, c-format
|
||||
msgid "Node %s (%s) became unreachable"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Makefile.in generated by automake 1.9.5 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -17,8 +17,6 @@
|
|||
# $Id: Makefile.am,v 1.4.4.33 2003/08/02 15:13:08 guus Exp $
|
||||
|
||||
|
||||
SOURCES = $(tincd_SOURCES) $(nodist_tincd_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
@ -48,13 +46,14 @@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
|
|||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal-include.m4 \
|
||||
$(top_srcdir)/m4/attribute.m4 $(top_srcdir)/m4/gettext.m4 \
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
|
||||
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
|
||||
$(top_srcdir)/m4/lzo.m4 $(top_srcdir)/m4/malloc.m4 \
|
||||
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
|
||||
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
|
||||
$(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/tuntap.m4 \
|
||||
$(top_srcdir)/m4/zlib.m4 $(top_srcdir)/configure.in
|
||||
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/isc-posix.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lzo.m4 \
|
||||
$(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
|
||||
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
|
||||
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
|
||||
$(top_srcdir)/m4/tuntap.m4 $(top_srcdir)/m4/zlib.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
|
@ -110,6 +109,7 @@ ECHO_T = @ECHO_T@
|
|||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GREP = @GREP@
|
||||
HAVE_TUNTAP = @HAVE_TUNTAP@
|
||||
INCLUDES = @INCLUDES@ -I$(top_builddir) -I$(top_srcdir)/lib
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
@ -151,8 +151,6 @@ USE_NLS = @USE_NLS@
|
|||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
|
@ -167,23 +165,30 @@ build_cpu = @build_cpu@
|
|||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
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 = $(datadir)/locale
|
||||
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@
|
||||
sysconfdir = @sysconfdir@
|
||||
|
@ -201,7 +206,6 @@ noinst_HEADERS = conf.h connection.h device.h edge.h event.h graph.h logger.h me
|
|||
tincd_LDADD = \
|
||||
$(top_builddir)/lib/libvpn.a
|
||||
|
||||
localedir = $(datadir)/locale
|
||||
AM_CFLAGS = @CFLAGS@ -DCONFDIR=\"$(sysconfdir)\" -DLOCALEDIR=\"$(localedir)\" -DLOCALSTATEDIR=\"$(localstatedir)\"
|
||||
all: all-am
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
device.c -- Interaction BSD tun/tap device
|
||||
Copyright (C) 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2001-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2001-2005 Ivo Timmermans,
|
||||
2001-2006 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
|
||||
|
|
11
src/conf.c
11
src/conf.c
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
conf.c -- configuration code
|
||||
Copyright (C) 1998 Robert van der Meulen
|
||||
1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000 Cris van Pelt <tribbel@arise.dhs.org>
|
||||
1998-2005 Ivo Timmermans
|
||||
2000-2006 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000 Cris van Pelt
|
||||
|
||||
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
|
||||
|
@ -19,7 +19,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: conf.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: conf.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -33,7 +33,8 @@
|
|||
|
||||
avl_tree_t *config_tree;
|
||||
|
||||
int pingtimeout = 0; /* seconds before timeout */
|
||||
int pinginterval = 0; /* seconds between pings */
|
||||
int pingtimeout = 0; /* seconds to wait for response */
|
||||
char *confbase = NULL; /* directory in which all config files are */
|
||||
char *netname = NULL; /* name of the vpn network */
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
conf.h -- header for conf.c
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: conf.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: conf.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_CONF_H__
|
||||
|
@ -36,6 +36,7 @@ typedef struct config_t {
|
|||
|
||||
extern avl_tree_t *config_tree;
|
||||
|
||||
extern int pinginterval;
|
||||
extern int pingtimeout;
|
||||
extern int maxtimeout;
|
||||
extern bool bypass_security;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
connection.c -- connection list management
|
||||
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: connection.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: connection.c 1456 2006-08-08 13:21:08Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -121,8 +121,9 @@ void dump_connections(void)
|
|||
|
||||
for(node = connection_tree->head; node; node = node->next) {
|
||||
c = node->data;
|
||||
logger(LOG_DEBUG, _(" %s at %s options %lx socket %d status %04x"),
|
||||
c->name, c->hostname, c->options, c->socket, *(uint32_t *)&c->status);
|
||||
logger(LOG_DEBUG, _(" %s at %s options %lx socket %d status %04x outbuf %d/%d/%d"),
|
||||
c->name, c->hostname, c->options, c->socket, c->status.value,
|
||||
c->outbufsize, c->outbufstart, c->outbuflen);
|
||||
}
|
||||
|
||||
logger(LOG_DEBUG, _("End of connections."));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
connection.h -- header for connection.c
|
||||
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: connection.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: connection.h 1456 2006-08-08 13:21:08Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_CONNECTION_H__
|
||||
|
@ -32,7 +32,8 @@
|
|||
#define OPTION_TCPONLY 0x0002
|
||||
#define OPTION_PMTU_DISCOVERY 0x0004
|
||||
|
||||
typedef struct connection_status_t {
|
||||
typedef union connection_status_t {
|
||||
struct {
|
||||
int pinged:1; /* sent ping */
|
||||
int active:1; /* 1 if active.. */
|
||||
int connecting:1; /* 1 if we are waiting for a non-blocking connect() to finish */
|
||||
|
@ -43,6 +44,8 @@ typedef struct connection_status_t {
|
|||
int decryptin:1; /* 1 if we have to decrypt incoming traffic */
|
||||
int mst:1; /* 1 if this connection is part of a minimum spanning tree */
|
||||
int unused:23;
|
||||
};
|
||||
uint32_t value;
|
||||
} connection_status_t;
|
||||
|
||||
#include "edge.h"
|
||||
|
@ -59,7 +62,7 @@ typedef struct connection_t {
|
|||
|
||||
int socket; /* socket used for this connection */
|
||||
long int options; /* options for this connection */
|
||||
struct connection_status_t status; /* status info */
|
||||
connection_status_t status; /* status info */
|
||||
int estimated_weight; /* estimation for the weight of the edge for this connection */
|
||||
struct timeval start; /* time this connection was started, used for above estimation */
|
||||
struct outgoing_t *outgoing; /* used to keep track of outgoing connections */
|
||||
|
@ -91,7 +94,13 @@ typedef struct connection_t {
|
|||
int tcplen; /* length of incoming TCPpacket */
|
||||
int allow_request; /* defined if there's only one request possible */
|
||||
|
||||
time_t last_ping_time; /* last time we saw some activity from the other end */
|
||||
char *outbuf; /* metadata output buffer */
|
||||
int outbufstart; /* index of first meaningful byte in output buffer */
|
||||
int outbuflen; /* number of meaningful bytes in output buffer */
|
||||
int outbufsize; /* number of bytes allocated to output buffer */
|
||||
|
||||
time_t last_ping_time; /* last time we saw some activity from the other end or pinged them */
|
||||
time_t last_flushed_time; /* last time buffer was empty. Only meaningful if outbuflen > 0 */
|
||||
|
||||
avl_tree_t *config_tree; /* Pointer to configuration tree belonging to him */
|
||||
} connection_t;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
device.c -- Interaction with Windows tap driver in a Cygwin environment
|
||||
Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2002-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2002-2005 Ivo Timmermans,
|
||||
2002-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: device.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
net.h -- generic header for device.c
|
||||
Copyright (C) 2001-2005 Ivo Timmermans <zarq@iname.com>
|
||||
2001-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2001-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: device.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: device.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_DEVICE_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
edge.c -- edge tree management
|
||||
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: edge.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: edge.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
edge.h -- header for edge.c
|
||||
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2001-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: edge.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: edge.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_EDGE_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
event.c -- event queue
|
||||
Copyright (C) 2002-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2002-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2002-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: event.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: event.c 1469 2006-11-11 22:44:15Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -96,7 +96,7 @@ event_t *get_expired_event(void)
|
|||
event = event_tree->head->data;
|
||||
|
||||
if(event->time < now) {
|
||||
avl_delete(event_tree, event);
|
||||
event_del(event);
|
||||
return event;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
event.h -- header for event.c
|
||||
Copyright (C) 2002-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2002-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2002-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: event.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: event.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_EVENT_H__
|
||||
|
|
73
src/graph.c
73
src/graph.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
graph.c -- graph algorithms
|
||||
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2001-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: graph.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: graph.c 1464 2006-11-11 14:37:03Z guus $
|
||||
*/
|
||||
|
||||
/* We need to generate two trees from the graph:
|
||||
|
@ -47,6 +47,7 @@
|
|||
#include "system.h"
|
||||
|
||||
#include "avl_tree.h"
|
||||
#include "config.h"
|
||||
#include "connection.h"
|
||||
#include "device.h"
|
||||
#include "edge.h"
|
||||
|
@ -57,6 +58,8 @@
|
|||
#include "subnet.h"
|
||||
#include "utils.h"
|
||||
|
||||
static bool graph_changed = true;
|
||||
|
||||
/* Implementation of Kruskal's algorithm.
|
||||
Running time: O(EN)
|
||||
Please note that sorting on weight is already done by add_edge().
|
||||
|
@ -283,6 +286,8 @@ void sssp_bfs(void)
|
|||
asprintf(&envp[5], "REMOTEPORT=%s", port);
|
||||
envp[6] = NULL;
|
||||
|
||||
execute_script(n->status.reachable ? "host-up" : "host-down", envp);
|
||||
|
||||
asprintf(&name,
|
||||
n->status.reachable ? "hosts/%s-up" : "hosts/%s-down",
|
||||
n->name);
|
||||
|
@ -304,4 +309,66 @@ void graph(void)
|
|||
{
|
||||
mst_kruskal();
|
||||
sssp_bfs();
|
||||
graph_changed = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Dump nodes and edges to a graphviz file.
|
||||
|
||||
The file can be converted to an image with
|
||||
dot -Tpng graph_filename -o image_filename.png -Gconcentrate=true
|
||||
*/
|
||||
|
||||
void dump_graph(void)
|
||||
{
|
||||
avl_node_t *node;
|
||||
node_t *n;
|
||||
edge_t *e;
|
||||
char *filename = NULL, *tmpname = NULL;
|
||||
FILE *file;
|
||||
|
||||
if(!graph_changed || !get_config_string(lookup_config(config_tree, "GraphDumpFile"), &filename))
|
||||
return;
|
||||
|
||||
graph_changed = false;
|
||||
|
||||
ifdebug(PROTOCOL) logger(LOG_NOTICE, "Dumping graph");
|
||||
|
||||
if(filename[0] == '|') {
|
||||
file = popen(filename + 1, "w");
|
||||
} else {
|
||||
asprintf(&tmpname, "%s.new", filename);
|
||||
file = fopen(tmpname, "w");
|
||||
}
|
||||
|
||||
if(!file) {
|
||||
logger(LOG_ERR, "Unable to open graph dump file %s: %s", filename, strerror(errno));
|
||||
free(tmpname);
|
||||
return;
|
||||
}
|
||||
|
||||
fprintf(file, "digraph {\n");
|
||||
|
||||
/* dump all nodes first */
|
||||
for(node = node_tree->head; node; node = node->next) {
|
||||
n = node->data;
|
||||
fprintf(file, " %s [label = \"%s\"];\n", n->name, n->name);
|
||||
}
|
||||
|
||||
/* now dump all edges */
|
||||
for(node = edge_weight_tree->head; node; node = node->next) {
|
||||
e = node->data;
|
||||
fprintf(file, " %s -> %s;\n", e->from->name, e->to->name);
|
||||
}
|
||||
|
||||
fprintf(file, "}\n");
|
||||
|
||||
if(filename[0] == '|') {
|
||||
pclose(file);
|
||||
} else {
|
||||
fclose(file);
|
||||
rename(tmpname, filename);
|
||||
free(tmpname);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
graph.h -- header for graph.c
|
||||
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2001-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: graph.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: graph.h 1463 2006-11-11 14:11:16Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_GRAPH_H__
|
||||
|
@ -26,5 +26,6 @@
|
|||
extern void graph(void);
|
||||
extern void mst_kruskal(void);
|
||||
extern void sssp_bfs(void);
|
||||
extern void dump_graph(void);
|
||||
|
||||
#endif /* __TINC_GRAPH_H__ */
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
device.c -- Interaction with Linux ethertap and tun/tap device
|
||||
Copyright (C) 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2001-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2001-2005 Ivo Timmermans,
|
||||
2001-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: device.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
logger.c -- logging code
|
||||
Copyright (C) 2004-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2004-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2004-2006 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2004-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: logger.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: logger.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
81
src/meta.c
81
src/meta.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
meta.c -- handle the meta communication
|
||||
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: meta.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: meta.c 1471 2006-11-14 12:28:04Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -32,12 +32,11 @@
|
|||
#include "net.h"
|
||||
#include "protocol.h"
|
||||
#include "utils.h"
|
||||
#include "xalloc.h"
|
||||
|
||||
bool send_meta(connection_t *c, const char *buffer, int length)
|
||||
{
|
||||
const char *bufp;
|
||||
int outlen;
|
||||
char outbuf[MAXBUFSIZE];
|
||||
int result;
|
||||
|
||||
cp();
|
||||
|
@ -45,35 +44,75 @@ bool send_meta(connection_t *c, const char *buffer, int length)
|
|||
ifdebug(META) logger(LOG_DEBUG, _("Sending %d bytes of metadata to %s (%s)"), length,
|
||||
c->name, c->hostname);
|
||||
|
||||
if(!c->outbuflen)
|
||||
c->last_flushed_time = now;
|
||||
|
||||
/* Find room in connection's buffer */
|
||||
if(length + c->outbuflen > c->outbufsize) {
|
||||
c->outbufsize = length + c->outbuflen;
|
||||
c->outbuf = xrealloc(c->outbuf, c->outbufsize);
|
||||
}
|
||||
|
||||
if(length + c->outbuflen + c->outbufstart > c->outbufsize) {
|
||||
memmove(c->outbuf, c->outbuf + c->outbufstart, c->outbuflen);
|
||||
c->outbufstart = 0;
|
||||
}
|
||||
|
||||
/* Add our data to buffer */
|
||||
if(c->status.encryptout) {
|
||||
result = EVP_EncryptUpdate(c->outctx, outbuf, &outlen, buffer, length);
|
||||
if(!result || outlen != length) {
|
||||
result = EVP_EncryptUpdate(c->outctx, (unsigned char *)c->outbuf + c->outbufstart + c->outbuflen,
|
||||
&outlen, (unsigned char *)buffer, length);
|
||||
if(!result || outlen < length) {
|
||||
logger(LOG_ERR, _("Error while encrypting metadata to %s (%s): %s"),
|
||||
c->name, c->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
return false;
|
||||
} else if(outlen > length) {
|
||||
logger(LOG_EMERG, _("Encrypted data too long! Heap corrupted!"));
|
||||
abort();
|
||||
}
|
||||
c->outbuflen += outlen;
|
||||
} else {
|
||||
memcpy(c->outbuf + c->outbufstart + c->outbuflen, buffer, length);
|
||||
c->outbuflen += length;
|
||||
}
|
||||
bufp = outbuf;
|
||||
length = outlen;
|
||||
} else
|
||||
bufp = buffer;
|
||||
|
||||
while(length) {
|
||||
result = send(c->socket, bufp, length, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool flush_meta(connection_t *c)
|
||||
{
|
||||
int result;
|
||||
|
||||
ifdebug(META) logger(LOG_DEBUG, _("Flushing %d bytes to %s (%s)"),
|
||||
c->outbuflen, c->name, c->hostname);
|
||||
|
||||
while(c->outbuflen) {
|
||||
result = send(c->socket, c->outbuf + c->outbufstart, c->outbuflen, 0);
|
||||
if(result <= 0) {
|
||||
if(!errno || errno == EPIPE) {
|
||||
ifdebug(CONNECTIONS) logger(LOG_NOTICE, _("Connection closed by %s (%s)"),
|
||||
c->name, c->hostname);
|
||||
} else if(errno == EINTR)
|
||||
} else if(errno == EINTR) {
|
||||
continue;
|
||||
else
|
||||
logger(LOG_ERR, _("Sending meta data to %s (%s) failed: %s"), c->name,
|
||||
#ifdef EWOULDBLOCK
|
||||
} else if(errno == EWOULDBLOCK) {
|
||||
ifdebug(CONNECTIONS) logger(LOG_DEBUG, _("Flushing %d bytes to %s (%s) would block"),
|
||||
c->outbuflen, c->name, c->hostname);
|
||||
return true;
|
||||
#endif
|
||||
} else {
|
||||
logger(LOG_ERR, _("Flushing meta data to %s (%s) failed: %s"), c->name,
|
||||
c->hostname, strerror(errno));
|
||||
return false;
|
||||
}
|
||||
bufp += result;
|
||||
length -= result;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
c->outbufstart += result;
|
||||
c->outbuflen -= result;
|
||||
}
|
||||
|
||||
c->outbufstart = 0; /* avoid unnecessary memmoves */
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -132,7 +171,7 @@ bool receive_meta(connection_t *c)
|
|||
/* Decrypt */
|
||||
|
||||
if(c->status.decryptin && !decrypted) {
|
||||
result = EVP_DecryptUpdate(c->inctx, inbuf, &lenout, c->buffer + oldlen, lenin);
|
||||
result = EVP_DecryptUpdate(c->inctx, (unsigned char *)inbuf, &lenout, (unsigned char *)c->buffer + oldlen, lenin);
|
||||
if(!result || lenout != lenin) {
|
||||
logger(LOG_ERR, _("Error while decrypting metadata from %s (%s): %s"),
|
||||
c->name, c->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
meta.h -- header for meta.c
|
||||
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: meta.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: meta.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_META_H__
|
||||
|
@ -27,6 +27,7 @@
|
|||
|
||||
extern bool send_meta(struct connection_t *, const char *, int);
|
||||
extern void broadcast_meta(struct connection_t *, const char *, int);
|
||||
extern bool flush_meta(struct connection_t *);
|
||||
extern bool receive_meta(struct connection_t *);
|
||||
|
||||
#endif /* __TINC_META_H__ */
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
device.c -- Interaction with Windows tap driver in a MinGW environment
|
||||
Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2002-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2002-2005 Ivo Timmermans,
|
||||
2002-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: device.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
91
src/net.c
91
src/net.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
net.c -- most of the network code
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: net.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: net.c 1469 2006-11-11 22:44:15Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -112,7 +112,7 @@ static void purge(void)
|
|||
put all file descriptors in an fd_set array
|
||||
While we're at it, purge stuff that needs to be removed.
|
||||
*/
|
||||
static int build_fdset(fd_set * fs)
|
||||
static int build_fdset(fd_set *readset, fd_set *writeset)
|
||||
{
|
||||
avl_node_t *node, *next;
|
||||
connection_t *c;
|
||||
|
@ -120,7 +120,8 @@ static int build_fdset(fd_set * fs)
|
|||
|
||||
cp();
|
||||
|
||||
FD_ZERO(fs);
|
||||
FD_ZERO(readset);
|
||||
FD_ZERO(writeset);
|
||||
|
||||
for(node = connection_tree->head; node; node = next) {
|
||||
next = node->next;
|
||||
|
@ -131,22 +132,24 @@ static int build_fdset(fd_set * fs)
|
|||
if(!connection_tree->head)
|
||||
purge();
|
||||
} else {
|
||||
FD_SET(c->socket, fs);
|
||||
FD_SET(c->socket, readset);
|
||||
if(c->outbuflen > 0)
|
||||
FD_SET(c->socket, writeset);
|
||||
if(c->socket > max)
|
||||
max = c->socket;
|
||||
}
|
||||
}
|
||||
|
||||
for(i = 0; i < listen_sockets; i++) {
|
||||
FD_SET(listen_socket[i].tcp, fs);
|
||||
FD_SET(listen_socket[i].tcp, readset);
|
||||
if(listen_socket[i].tcp > max)
|
||||
max = listen_socket[i].tcp;
|
||||
FD_SET(listen_socket[i].udp, fs);
|
||||
FD_SET(listen_socket[i].udp, readset);
|
||||
if(listen_socket[i].udp > max)
|
||||
max = listen_socket[i].udp;
|
||||
}
|
||||
|
||||
FD_SET(device_fd, fs);
|
||||
FD_SET(device_fd, readset);
|
||||
if(device_fd > max)
|
||||
max = device_fd;
|
||||
|
||||
|
@ -208,6 +211,12 @@ void terminate_connection(connection_t *c, bool report)
|
|||
retry_outgoing(c->outgoing);
|
||||
c->outgoing = NULL;
|
||||
}
|
||||
|
||||
free(c->outbuf);
|
||||
c->outbuf = NULL;
|
||||
c->outbuflen = 0;
|
||||
c->outbufsize = 0;
|
||||
c->outbufstart = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -232,17 +241,17 @@ static void check_dead_connections(void)
|
|||
if(c->last_ping_time + pingtimeout < now) {
|
||||
if(c->status.active) {
|
||||
if(c->status.pinged) {
|
||||
ifdebug(CONNECTIONS) logger(LOG_INFO, _("%s (%s) didn't respond to PING"),
|
||||
c->name, c->hostname);
|
||||
ifdebug(CONNECTIONS) logger(LOG_INFO, _("%s (%s) didn't respond to PING in %ld seconds"),
|
||||
c->name, c->hostname, now - c->last_ping_time);
|
||||
c->status.timeout = true;
|
||||
terminate_connection(c, true);
|
||||
} else {
|
||||
} else if(c->last_ping_time + pinginterval < now) {
|
||||
send_ping(c);
|
||||
}
|
||||
} else {
|
||||
if(c->status.remove) {
|
||||
logger(LOG_WARNING, _("Old connection_t for %s (%s) status %04x still lingering, deleting..."),
|
||||
c->name, c->hostname, *(uint32_t *)&c->status);
|
||||
c->name, c->hostname, c->status.value);
|
||||
connection_del(c);
|
||||
continue;
|
||||
}
|
||||
|
@ -257,6 +266,16 @@ static void check_dead_connections(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(c->outbuflen > 0 && c->last_flushed_time + pingtimeout < now) {
|
||||
if(c->status.active) {
|
||||
ifdebug(CONNECTIONS) logger(LOG_INFO,
|
||||
_("%s (%s) could not flush for %ld seconds (%d bytes remaining)"),
|
||||
c->name, c->hostname, now - c->last_flushed_time, c->outbuflen);
|
||||
c->status.timeout = true;
|
||||
terminate_connection(c, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -264,28 +283,30 @@ static void check_dead_connections(void)
|
|||
check all connections to see if anything
|
||||
happened on their sockets
|
||||
*/
|
||||
static void check_network_activity(fd_set * f)
|
||||
static void check_network_activity(fd_set * readset, fd_set * writeset)
|
||||
{
|
||||
connection_t *c;
|
||||
avl_node_t *node;
|
||||
int result, i;
|
||||
int len = sizeof(result);
|
||||
socklen_t len = sizeof(result);
|
||||
vpn_packet_t packet;
|
||||
|
||||
cp();
|
||||
|
||||
if(FD_ISSET(device_fd, f)) {
|
||||
/* check input from kernel */
|
||||
if(FD_ISSET(device_fd, readset)) {
|
||||
if(read_packet(&packet))
|
||||
route(myself, &packet);
|
||||
}
|
||||
|
||||
/* check meta connections */
|
||||
for(node = connection_tree->head; node; node = node->next) {
|
||||
c = node->data;
|
||||
|
||||
if(c->status.remove)
|
||||
continue;
|
||||
|
||||
if(FD_ISSET(c->socket, f)) {
|
||||
if(FD_ISSET(c->socket, readset)) {
|
||||
if(c->status.connecting) {
|
||||
c->status.connecting = false;
|
||||
getsockopt(c->socket, SOL_SOCKET, SO_ERROR, &result, &len);
|
||||
|
@ -307,13 +328,20 @@ static void check_network_activity(fd_set * f)
|
|||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if(FD_ISSET(c->socket, writeset)) {
|
||||
if(!flush_meta(c)) {
|
||||
terminate_connection(c, c->status.active);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(i = 0; i < listen_sockets; i++) {
|
||||
if(FD_ISSET(listen_socket[i].udp, f))
|
||||
if(FD_ISSET(listen_socket[i].udp, readset))
|
||||
handle_incoming_vpn_data(listen_socket[i].udp);
|
||||
|
||||
if(FD_ISSET(listen_socket[i].tcp, f))
|
||||
if(FD_ISSET(listen_socket[i].tcp, readset))
|
||||
handle_new_meta_connection(listen_socket[i].tcp);
|
||||
}
|
||||
}
|
||||
|
@ -323,16 +351,18 @@ static void check_network_activity(fd_set * f)
|
|||
*/
|
||||
int main_loop(void)
|
||||
{
|
||||
fd_set fset;
|
||||
fd_set readset, writeset;
|
||||
struct timeval tv;
|
||||
int r, maxfd;
|
||||
time_t last_ping_check, last_config_check;
|
||||
time_t last_ping_check, last_config_check, last_graph_dump;
|
||||
event_t *event;
|
||||
|
||||
cp();
|
||||
|
||||
last_ping_check = now;
|
||||
last_config_check = now;
|
||||
last_graph_dump = now;
|
||||
|
||||
srand(now);
|
||||
|
||||
running = true;
|
||||
|
@ -344,9 +374,9 @@ int main_loop(void)
|
|||
tv.tv_sec = 1;
|
||||
tv.tv_usec = 0;
|
||||
|
||||
maxfd = build_fdset(&fset);
|
||||
maxfd = build_fdset(&readset, &writeset);
|
||||
|
||||
r = select(maxfd + 1, &fset, NULL, NULL, &tv);
|
||||
r = select(maxfd + 1, &readset, &writeset, NULL, &tv);
|
||||
|
||||
if(r < 0) {
|
||||
if(errno != EINTR && errno != EAGAIN) {
|
||||
|
@ -360,7 +390,7 @@ int main_loop(void)
|
|||
continue;
|
||||
}
|
||||
|
||||
check_network_activity(&fset);
|
||||
check_network_activity(&readset, &writeset);
|
||||
|
||||
if(do_purge) {
|
||||
purge();
|
||||
|
@ -383,9 +413,9 @@ int main_loop(void)
|
|||
if(keyexpires < now) {
|
||||
ifdebug(STATUS) logger(LOG_INFO, _("Regenerating symmetric key"));
|
||||
|
||||
RAND_pseudo_bytes(myself->key, myself->keylength);
|
||||
RAND_pseudo_bytes((unsigned char *)myself->key, myself->keylength);
|
||||
if(myself->cipher)
|
||||
EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len);
|
||||
EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, (unsigned char *)myself->key, (unsigned char *)myself->key + myself->cipher->key_len);
|
||||
send_key_changed(broadcast, myself);
|
||||
keyexpires = now + keylifetime;
|
||||
}
|
||||
|
@ -394,7 +424,7 @@ int main_loop(void)
|
|||
|
||||
while((event = get_expired_event())) {
|
||||
event->handler(event->data);
|
||||
free(event);
|
||||
free_event(event);
|
||||
}
|
||||
|
||||
if(sigalrm) {
|
||||
|
@ -450,6 +480,13 @@ int main_loop(void)
|
|||
|
||||
try_outgoing_connections();
|
||||
}
|
||||
|
||||
/* Dump graph if wanted every 60 seconds*/
|
||||
|
||||
if(last_graph_dump + 60 < now) {
|
||||
dump_graph();
|
||||
last_graph_dump = now;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
net.h -- header for net.c
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <zarq@iname.com>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: net.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: net.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_NET_H__
|
||||
|
@ -114,10 +114,9 @@ typedef struct outgoing_t {
|
|||
struct addrinfo *aip;
|
||||
} outgoing_t;
|
||||
|
||||
extern int maxtimeout;
|
||||
extern int maxoutbufsize;
|
||||
extern int seconds_till_retry;
|
||||
extern int addressfamily;
|
||||
extern bool blockingtcp;
|
||||
|
||||
extern listen_socket_t listen_socket[MAXSOCKETS];
|
||||
extern int listen_sockets;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
net_packet.c -- Handles in- and outgoing VPN packets
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: net_packet.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: net_packet.c 1469 2006-11-11 22:44:15Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -29,7 +29,12 @@
|
|||
#include <openssl/hmac.h>
|
||||
|
||||
#include <zlib.h>
|
||||
#ifdef HAVE_LZO_LZO1X_H
|
||||
#include <lzo/lzo1x.h>
|
||||
#endif
|
||||
#ifdef HAVE_LZO1X_H
|
||||
#include <lzo1x.h>
|
||||
#endif
|
||||
|
||||
#include "avl_tree.h"
|
||||
#include "conf.h"
|
||||
|
@ -96,7 +101,7 @@ void send_mtu_probe(node_t *n)
|
|||
send_udppacket(n, &packet);
|
||||
}
|
||||
|
||||
n->mtuevent = xmalloc(sizeof(*n->mtuevent));
|
||||
n->mtuevent = new_event();
|
||||
n->mtuevent->handler = (event_handler_t)send_mtu_probe;
|
||||
n->mtuevent->data = n;
|
||||
n->mtuevent->time = now + 1;
|
||||
|
@ -174,7 +179,7 @@ static void receive_udppacket(node_t *n, vpn_packet_t *inpkt)
|
|||
int nextpkt = 0;
|
||||
vpn_packet_t *outpkt = pkt[0];
|
||||
int outlen, outpad;
|
||||
char hmac[EVP_MAX_MD_SIZE];
|
||||
unsigned char hmac[EVP_MAX_MD_SIZE];
|
||||
int i;
|
||||
|
||||
cp();
|
||||
|
@ -192,7 +197,7 @@ static void receive_udppacket(node_t *n, vpn_packet_t *inpkt)
|
|||
if(myself->digest && myself->maclength) {
|
||||
inpkt->len -= myself->maclength;
|
||||
HMAC(myself->digest, myself->key, myself->keylength,
|
||||
(char *) &inpkt->seqno, inpkt->len, hmac, NULL);
|
||||
(unsigned char *) &inpkt->seqno, inpkt->len, (unsigned char *)hmac, NULL);
|
||||
|
||||
if(memcmp(hmac, (char *) &inpkt->seqno + inpkt->len, myself->maclength)) {
|
||||
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Got unauthenticated packet from %s (%s)"),
|
||||
|
@ -207,9 +212,9 @@ static void receive_udppacket(node_t *n, vpn_packet_t *inpkt)
|
|||
outpkt = pkt[nextpkt++];
|
||||
|
||||
if(!EVP_DecryptInit_ex(&packet_ctx, NULL, NULL, NULL, NULL)
|
||||
|| !EVP_DecryptUpdate(&packet_ctx, (char *) &outpkt->seqno, &outlen,
|
||||
(char *) &inpkt->seqno, inpkt->len)
|
||||
|| !EVP_DecryptFinal_ex(&packet_ctx, (char *) &outpkt->seqno + outlen, &outpad)) {
|
||||
|| !EVP_DecryptUpdate(&packet_ctx, (unsigned char *) &outpkt->seqno, &outlen,
|
||||
(unsigned char *) &inpkt->seqno, inpkt->len)
|
||||
|| !EVP_DecryptFinal_ex(&packet_ctx, (unsigned char *) &outpkt->seqno + outlen, &outpad)) {
|
||||
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Error decrypting packet from %s (%s): %s"),
|
||||
n->name, n->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
return;
|
||||
|
@ -285,10 +290,11 @@ void receive_tcppacket(connection_t *c, char *buffer, int len)
|
|||
receive_packet(c->node, &outpkt);
|
||||
}
|
||||
|
||||
static void send_udppacket(node_t *n, vpn_packet_t *inpkt)
|
||||
static void send_udppacket(node_t *n, vpn_packet_t *origpkt)
|
||||
{
|
||||
vpn_packet_t pkt1, pkt2;
|
||||
vpn_packet_t *pkt[] = { &pkt1, &pkt2, &pkt1, &pkt2 };
|
||||
vpn_packet_t *inpkt = origpkt;
|
||||
int nextpkt = 0;
|
||||
vpn_packet_t *outpkt;
|
||||
int origlen;
|
||||
|
@ -352,9 +358,9 @@ static void send_udppacket(node_t *n, vpn_packet_t *inpkt)
|
|||
outpkt = pkt[nextpkt++];
|
||||
|
||||
if(!EVP_EncryptInit_ex(&n->packet_ctx, NULL, NULL, NULL, NULL)
|
||||
|| !EVP_EncryptUpdate(&n->packet_ctx, (char *) &outpkt->seqno, &outlen,
|
||||
(char *) &inpkt->seqno, inpkt->len)
|
||||
|| !EVP_EncryptFinal_ex(&n->packet_ctx, (char *) &outpkt->seqno + outlen, &outpad)) {
|
||||
|| !EVP_EncryptUpdate(&n->packet_ctx, (unsigned char *) &outpkt->seqno, &outlen,
|
||||
(unsigned char *) &inpkt->seqno, inpkt->len)
|
||||
|| !EVP_EncryptFinal_ex(&n->packet_ctx, (unsigned char *) &outpkt->seqno + outlen, &outpad)) {
|
||||
ifdebug(TRAFFIC) logger(LOG_ERR, _("Error while encrypting packet to %s (%s): %s"),
|
||||
n->name, n->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
goto end;
|
||||
|
@ -367,8 +373,8 @@ static void send_udppacket(node_t *n, vpn_packet_t *inpkt)
|
|||
/* Add the message authentication code */
|
||||
|
||||
if(n->digest && n->maclength) {
|
||||
HMAC(n->digest, n->key, n->keylength, (char *) &inpkt->seqno,
|
||||
inpkt->len, (char *) &inpkt->seqno + inpkt->len, &outlen);
|
||||
HMAC(n->digest, n->key, n->keylength, (unsigned char *) &inpkt->seqno,
|
||||
inpkt->len, (unsigned char *) &inpkt->seqno + inpkt->len, NULL);
|
||||
inpkt->len += n->maclength;
|
||||
}
|
||||
|
||||
|
@ -404,7 +410,7 @@ static void send_udppacket(node_t *n, vpn_packet_t *inpkt)
|
|||
}
|
||||
|
||||
end:
|
||||
inpkt->len = origlen;
|
||||
origpkt->len = origlen;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -457,11 +463,8 @@ void broadcast_packet(const node_t *from, vpn_packet_t *packet)
|
|||
ifdebug(TRAFFIC) logger(LOG_INFO, _("Broadcasting packet of %d bytes from %s (%s)"),
|
||||
packet->len, from->name, from->hostname);
|
||||
|
||||
if(from != myself) {
|
||||
if(overwrite_mac)
|
||||
memcpy(packet->data, mymac.x, ETH_ALEN);
|
||||
write_packet(packet);
|
||||
}
|
||||
if(from != myself)
|
||||
send_packet(myself, packet);
|
||||
|
||||
for(node = connection_tree->head; node; node = node->next) {
|
||||
c = node->data;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
net_setup.c -- Setup.
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: net_setup.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: net_setup.c 1469 2006-11-11 22:44:15Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -286,8 +286,6 @@ bool setup_myself(void)
|
|||
if(get_config_bool(lookup_config(myself->connection->config_tree, "TCPOnly"), &choice) && choice)
|
||||
myself->options |= OPTION_TCPONLY;
|
||||
|
||||
get_config_bool(lookup_config(config_tree, "BlockingTCP"), &blockingtcp);
|
||||
|
||||
if(get_config_bool(lookup_config(myself->connection->config_tree, "PMTUDiscovery"), &choice) && choice)
|
||||
myself->options |= OPTION_PMTU_DISCOVERY;
|
||||
|
||||
|
@ -370,7 +368,7 @@ bool setup_myself(void)
|
|||
myself->connection->outcipher = EVP_bf_ofb();
|
||||
|
||||
myself->key = xmalloc(myself->keylength);
|
||||
RAND_pseudo_bytes(myself->key, myself->keylength);
|
||||
RAND_pseudo_bytes((unsigned char *)myself->key, myself->keylength);
|
||||
|
||||
if(!get_config_int(lookup_config(config_tree, "KeyExpire"), &keylifetime))
|
||||
keylifetime = 3600;
|
||||
|
@ -379,7 +377,7 @@ bool setup_myself(void)
|
|||
|
||||
if(myself->cipher) {
|
||||
EVP_CIPHER_CTX_init(&packet_ctx);
|
||||
if(!EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len)) {
|
||||
if(!EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, (unsigned char *)myself->key, (unsigned char *)myself->key + myself->cipher->key_len)) {
|
||||
logger(LOG_ERR, _("Error during initialisation of cipher for %s (%s): %s"),
|
||||
myself->name, myself->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
return false;
|
||||
|
@ -439,7 +437,6 @@ bool setup_myself(void)
|
|||
|
||||
myself->nexthop = myself;
|
||||
myself->via = myself;
|
||||
myself->status.active = true;
|
||||
myself->status.reachable = true;
|
||||
node_add(myself);
|
||||
|
||||
|
@ -504,7 +501,7 @@ bool setup_myself(void)
|
|||
free(hostname);
|
||||
}
|
||||
|
||||
listen_socket[listen_sockets].sa.sa = *aip->ai_addr;
|
||||
memcpy(&listen_socket[listen_sockets].sa, aip->ai_addr, aip->ai_addrlen);
|
||||
listen_sockets++;
|
||||
}
|
||||
|
||||
|
@ -529,19 +526,27 @@ bool setup_network_connections(void)
|
|||
|
||||
now = time(NULL);
|
||||
|
||||
init_events();
|
||||
init_connections();
|
||||
init_subnets();
|
||||
init_nodes();
|
||||
init_edges();
|
||||
init_events();
|
||||
init_requests();
|
||||
|
||||
if(get_config_int(lookup_config(config_tree, "PingTimeout"), &pingtimeout)) {
|
||||
if(pingtimeout < 1) {
|
||||
pingtimeout = 86400;
|
||||
if(get_config_int(lookup_config(config_tree, "PingInterval"), &pinginterval)) {
|
||||
if(pinginterval < 1) {
|
||||
pinginterval = 86400;
|
||||
}
|
||||
} else
|
||||
pingtimeout = 60;
|
||||
pinginterval = 60;
|
||||
|
||||
if(!get_config_int(lookup_config(config_tree, "PingTimeout"), &pingtimeout))
|
||||
pingtimeout = 5;
|
||||
if(pingtimeout < 1 || pingtimeout > pinginterval)
|
||||
pingtimeout = pinginterval;
|
||||
|
||||
if(!get_config_int(lookup_config(config_tree, "MaxOutputBufferSize"), &maxoutbufsize))
|
||||
maxoutbufsize = 4 * MTU;
|
||||
|
||||
if(!setup_myself())
|
||||
return false;
|
||||
|
@ -582,19 +587,19 @@ void close_network_connections(void)
|
|||
close(listen_socket[i].udp);
|
||||
}
|
||||
|
||||
exit_requests();
|
||||
exit_events();
|
||||
exit_edges();
|
||||
exit_subnets();
|
||||
exit_nodes();
|
||||
exit_connections();
|
||||
|
||||
asprintf(&envp[0], "NETNAME=%s", netname ? : "");
|
||||
asprintf(&envp[1], "DEVICE=%s", device ? : "");
|
||||
asprintf(&envp[2], "INTERFACE=%s", iface ? : "");
|
||||
asprintf(&envp[3], "NAME=%s", myself->name);
|
||||
envp[4] = NULL;
|
||||
|
||||
exit_requests();
|
||||
exit_edges();
|
||||
exit_subnets();
|
||||
exit_nodes();
|
||||
exit_connections();
|
||||
exit_events();
|
||||
|
||||
execute_script("tinc-down", envp);
|
||||
|
||||
for(i = 0; i < 4; i++)
|
||||
|
|
102
src/net_socket.c
102
src/net_socket.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
net_socket.c -- Handle various kinds of sockets.
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: net_socket.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: net_socket.c 1460 2006-08-08 13:50:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -38,16 +38,43 @@
|
|||
#define EINPROGRESS WSAEINPROGRESS
|
||||
#endif
|
||||
|
||||
/* Needed on Mac OS/X */
|
||||
#ifndef SOL_TCP
|
||||
#define SOL_TCP IPPROTO_TCP
|
||||
#endif
|
||||
|
||||
int addressfamily = AF_UNSPEC;
|
||||
int maxtimeout = 900;
|
||||
int seconds_till_retry = 5;
|
||||
bool blockingtcp = false;
|
||||
|
||||
listen_socket_t listen_socket[MAXSOCKETS];
|
||||
int listen_sockets;
|
||||
|
||||
/* Setup sockets */
|
||||
|
||||
static void configure_tcp(connection_t *c)
|
||||
{
|
||||
int option;
|
||||
|
||||
#ifdef O_NONBLOCK
|
||||
int flags = fcntl(c->socket, F_GETFL);
|
||||
|
||||
if(fcntl(c->socket, F_SETFL, flags | O_NONBLOCK) < 0) {
|
||||
logger(LOG_ERR, _("fcntl for %s: %s"), c->hostname, strerror(errno));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(SOL_TCP) && defined(TCP_NODELAY)
|
||||
option = 1;
|
||||
setsockopt(c->socket, SOL_TCP, TCP_NODELAY, &option, sizeof(option));
|
||||
#endif
|
||||
|
||||
#if defined(SOL_IP) && defined(IP_TOS) && defined(IPTOS_LOWDELAY)
|
||||
option = IPTOS_LOWDELAY;
|
||||
setsockopt(c->socket, SOL_IP, IP_TOS, &option, sizeof(option));
|
||||
#endif
|
||||
}
|
||||
|
||||
int setup_listen_socket(const sockaddr_t *sa)
|
||||
{
|
||||
int nfd;
|
||||
|
@ -64,33 +91,11 @@ int setup_listen_socket(const sockaddr_t *sa)
|
|||
return -1;
|
||||
}
|
||||
|
||||
#ifdef O_NONBLOCK
|
||||
{
|
||||
int flags = fcntl(nfd, F_GETFL);
|
||||
|
||||
if(fcntl(nfd, F_SETFL, flags | O_NONBLOCK) < 0) {
|
||||
closesocket(nfd);
|
||||
logger(LOG_ERR, _("System call `%s' failed: %s"), "fcntl",
|
||||
strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Optimize TCP settings */
|
||||
|
||||
option = 1;
|
||||
setsockopt(nfd, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option));
|
||||
|
||||
#if defined(SOL_TCP) && defined(TCP_NODELAY)
|
||||
setsockopt(nfd, SOL_TCP, TCP_NODELAY, &option, sizeof(option));
|
||||
#endif
|
||||
|
||||
#if defined(SOL_IP) && defined(IP_TOS) && defined(IPTOS_LOWDELAY)
|
||||
option = IPTOS_LOWDELAY;
|
||||
setsockopt(nfd, SOL_IP, IP_TOS, &option, sizeof(option));
|
||||
#endif
|
||||
|
||||
if(get_config_string
|
||||
(lookup_config(config_tree, "BindToInterface"), &iface)) {
|
||||
#if defined(SOL_SOCKET) && defined(SO_BINDTODEVICE)
|
||||
|
@ -241,15 +246,7 @@ void finish_connecting(connection_t *c)
|
|||
|
||||
ifdebug(CONNECTIONS) logger(LOG_INFO, _("Connected to %s (%s)"), c->name, c->hostname);
|
||||
|
||||
#ifdef O_NONBLOCK
|
||||
if(blockingtcp) {
|
||||
int flags = fcntl(c->socket, F_GETFL);
|
||||
|
||||
if(fcntl(c->socket, F_SETFL, flags & ~O_NONBLOCK) < 0) {
|
||||
logger(LOG_ERR, _("fcntl for %s: %s"), c->hostname, strerror(errno));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
configure_tcp(c);
|
||||
|
||||
c->last_ping_time = now;
|
||||
|
||||
|
@ -259,7 +256,7 @@ void finish_connecting(connection_t *c)
|
|||
void do_outgoing_connection(connection_t *c)
|
||||
{
|
||||
char *address, *port;
|
||||
int option, result, flags;
|
||||
int result;
|
||||
|
||||
cp();
|
||||
|
||||
|
@ -314,25 +311,7 @@ begin:
|
|||
|
||||
/* Optimize TCP settings */
|
||||
|
||||
#if defined(SOL_TCP) && defined(TCP_NODELAY)
|
||||
option = 1;
|
||||
setsockopt(c->socket, SOL_TCP, TCP_NODELAY, &option, sizeof(option));
|
||||
#endif
|
||||
|
||||
#if defined(SOL_IP) && defined(IP_TOS)
|
||||
option = IPTOS_LOWDELAY;
|
||||
setsockopt(c->socket, SOL_IP, IP_TOS, &option, sizeof(option));
|
||||
#endif
|
||||
|
||||
/* Non-blocking */
|
||||
|
||||
#ifdef O_NONBLOCK
|
||||
flags = fcntl(c->socket, F_GETFL);
|
||||
|
||||
if(fcntl(c->socket, F_SETFL, flags | O_NONBLOCK) < 0) {
|
||||
logger(LOG_ERR, _("fcntl for %s: %s"), c->hostname, strerror(errno));
|
||||
}
|
||||
#endif
|
||||
configure_tcp(c);
|
||||
|
||||
/* Connect */
|
||||
|
||||
|
@ -409,7 +388,8 @@ bool handle_new_meta_connection(int sock)
|
|||
{
|
||||
connection_t *c;
|
||||
sockaddr_t sa;
|
||||
int fd, len = sizeof(sa);
|
||||
int fd;
|
||||
socklen_t len = sizeof(sa);
|
||||
|
||||
cp();
|
||||
|
||||
|
@ -437,15 +417,7 @@ bool handle_new_meta_connection(int sock)
|
|||
|
||||
ifdebug(CONNECTIONS) logger(LOG_NOTICE, _("Connection from %s"), c->hostname);
|
||||
|
||||
#ifdef O_NONBLOCK
|
||||
if(blockingtcp) {
|
||||
int flags = fcntl(c->socket, F_GETFL);
|
||||
|
||||
if(fcntl(c->socket, F_SETFL, flags & ~O_NONBLOCK) < 0) {
|
||||
logger(LOG_ERR, _("fcntl for %s: %s"), c->hostname, strerror(errno));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
configure_tcp(c);
|
||||
|
||||
connection_add(c);
|
||||
|
||||
|
|
14
src/netutl.c
14
src/netutl.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
netutl.c -- some supporting network utility code
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: netutl.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: netutl.c 1459 2006-08-08 13:44:37Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -78,7 +78,7 @@ sockaddr_t str2sockaddr(const char *address, const char *port)
|
|||
return result;
|
||||
}
|
||||
|
||||
result = *(sockaddr_t *) ai->ai_addr;
|
||||
memcpy(&result, ai->ai_addr, ai->ai_addrlen);
|
||||
freeaddrinfo(ai);
|
||||
|
||||
return result;
|
||||
|
@ -225,7 +225,7 @@ void sockaddrunmap(sockaddr_t *sa)
|
|||
|
||||
/* Subnet mask handling */
|
||||
|
||||
int maskcmp(const void *va, const void *vb, int masklen, int len)
|
||||
int maskcmp(const void *va, const void *vb, int masklen)
|
||||
{
|
||||
int i, m, result;
|
||||
const char *a = va;
|
||||
|
@ -257,7 +257,7 @@ void mask(void *va, int masklen, int len)
|
|||
masklen %= 8;
|
||||
|
||||
if(masklen)
|
||||
a[i++] &= (0x100 - (1 << masklen));
|
||||
a[i++] &= (0x100 - (1 << (8 - masklen)));
|
||||
|
||||
for(; i < len; i++)
|
||||
a[i] = 0;
|
||||
|
@ -275,7 +275,7 @@ void maskcpy(void *va, const void *vb, int masklen, int len)
|
|||
a[i] = b[i];
|
||||
|
||||
if(m) {
|
||||
a[i] = b[i] & (0x100 - (1 << m));
|
||||
a[i] = b[i] & (0x100 - (1 << (8 - m)));
|
||||
i++;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
netutl.h -- header file for netutl.c
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <zarq@iname.com>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: netutl.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: netutl.h 1459 2006-08-08 13:44:37Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_NETUTL_H__
|
||||
|
@ -35,7 +35,7 @@ extern int sockaddrcmp(const sockaddr_t *, const sockaddr_t *);
|
|||
extern void sockaddrunmap(sockaddr_t *);
|
||||
extern void sockaddrfree(sockaddr_t *);
|
||||
extern void sockaddrcpy(sockaddr_t *, const sockaddr_t *);
|
||||
extern int maskcmp(const void *, const void *, int, int);
|
||||
extern int maskcmp(const void *, const void *, int);
|
||||
extern void maskcpy(void *, const void *, int, int);
|
||||
extern void mask(void *, int, int);
|
||||
extern bool maskcheck(const void *, int, int);
|
||||
|
|
22
src/node.c
22
src/node.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
node.c -- node tree management
|
||||
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2001-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: node.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: node.c 1469 2006-11-11 22:44:15Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -93,12 +93,6 @@ void free_node(node_t *n)
|
|||
if(n->queue)
|
||||
list_delete_list(n->queue);
|
||||
|
||||
if(n->name)
|
||||
free(n->name);
|
||||
|
||||
if(n->hostname)
|
||||
free(n->hostname);
|
||||
|
||||
if(n->key)
|
||||
free(n->key);
|
||||
|
||||
|
@ -112,8 +106,16 @@ void free_node(node_t *n)
|
|||
|
||||
EVP_CIPHER_CTX_cleanup(&n->packet_ctx);
|
||||
|
||||
if(n->mtuevent)
|
||||
if(n->mtuevent) {
|
||||
event_del(n->mtuevent);
|
||||
free_event(n->mtuevent);
|
||||
}
|
||||
|
||||
if(n->hostname)
|
||||
free(n->hostname);
|
||||
|
||||
if(n->name)
|
||||
free(n->name);
|
||||
|
||||
free(n);
|
||||
}
|
||||
|
|
13
src/node.h
13
src/node.h
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
node.h -- header for node.c
|
||||
Copyright (C) 2001-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2001-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2001-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: node.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: node.h 1462 2006-11-11 13:43:00Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_NODE_H__
|
||||
|
@ -29,14 +29,17 @@
|
|||
#include "list.h"
|
||||
#include "subnet.h"
|
||||
|
||||
typedef struct node_status_t {
|
||||
int active:1; /* 1 if active.. */
|
||||
typedef union node_status_t {
|
||||
struct {
|
||||
int unused_active:1; /* 1 if active (not used for nodes) */
|
||||
int validkey:1; /* 1 if we currently have a valid key for him */
|
||||
int waitingforkey:1; /* 1 if we already sent out a request */
|
||||
int visited:1; /* 1 if this node has been visited by one of the graph algorithms */
|
||||
int reachable:1; /* 1 if this node is reachable in the graph */
|
||||
int indirect:1; /* 1 if this node is not directly reachable by us */
|
||||
int unused:26;
|
||||
};
|
||||
uint32_t value;
|
||||
} node_status_t;
|
||||
|
||||
typedef struct node_t {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
process.c -- process management functions
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: process.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: process.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
process.h -- header file for process.c
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: process.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: process.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_PROCESS_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
protocol.c -- handle the meta-protocol, basic functions
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: protocol.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: protocol.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -241,7 +241,7 @@ void age_past_requests(void)
|
|||
next = node->next;
|
||||
p = node->data;
|
||||
|
||||
if(p->firstseen + pingtimeout < now)
|
||||
if(p->firstseen + pinginterval < now)
|
||||
avl_delete_node(past_request_tree, node), deleted++;
|
||||
else
|
||||
left++;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
protocol.h -- header for protocol.c
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: protocol.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: protocol.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_PROTOCOL_H__
|
||||
|
@ -56,9 +56,12 @@ typedef struct past_request_t {
|
|||
|
||||
extern bool tunnelserver;
|
||||
|
||||
/* Maximum size of strings in a request */
|
||||
/* Maximum size of strings in a request.
|
||||
* scanf terminates %2048s with a NUL character,
|
||||
* but the NUL character can be written after the 2048th non-NUL character.
|
||||
*/
|
||||
|
||||
#define MAX_STRING_SIZE 2048
|
||||
#define MAX_STRING_SIZE 2049
|
||||
#define MAX_STRING "%2048s"
|
||||
|
||||
#include "edge.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
protocol_auth.c -- handle the meta-protocol, authentication
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: protocol_auth.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: protocol_auth.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -118,7 +118,7 @@ bool id_h(connection_t *c)
|
|||
|
||||
bool send_metakey(connection_t *c)
|
||||
{
|
||||
char buffer[MAX_STRING_SIZE];
|
||||
char *buffer;
|
||||
int len;
|
||||
bool x;
|
||||
|
||||
|
@ -128,6 +128,8 @@ bool send_metakey(connection_t *c)
|
|||
|
||||
/* Allocate buffers for the meta key */
|
||||
|
||||
buffer = alloca(2 * len + 1);
|
||||
|
||||
if(!c->outkey)
|
||||
c->outkey = xmalloc(len);
|
||||
|
||||
|
@ -136,7 +138,7 @@ bool send_metakey(connection_t *c)
|
|||
cp();
|
||||
/* Copy random data to the buffer */
|
||||
|
||||
RAND_pseudo_bytes(c->outkey, len);
|
||||
RAND_pseudo_bytes((unsigned char *)c->outkey, len);
|
||||
|
||||
/* The message we send must be smaller than the modulus of the RSA key.
|
||||
By definition, for a key of k bits, the following formula holds:
|
||||
|
@ -164,7 +166,7 @@ bool send_metakey(connection_t *c)
|
|||
with a length equal to that of the modulus of the RSA key.
|
||||
*/
|
||||
|
||||
if(RSA_public_encrypt(len, c->outkey, buffer, c->rsa_key, RSA_NO_PADDING) != len) {
|
||||
if(RSA_public_encrypt(len, (unsigned char *)c->outkey, (unsigned char *)buffer, c->rsa_key, RSA_NO_PADDING) != len) {
|
||||
logger(LOG_ERR, _("Error during encryption of meta key for %s (%s)"),
|
||||
c->name, c->hostname);
|
||||
return false;
|
||||
|
@ -186,8 +188,8 @@ bool send_metakey(connection_t *c)
|
|||
|
||||
if(c->outcipher) {
|
||||
if(!EVP_EncryptInit(c->outctx, c->outcipher,
|
||||
c->outkey + len - c->outcipher->key_len,
|
||||
c->outkey + len - c->outcipher->key_len -
|
||||
(unsigned char *)c->outkey + len - c->outcipher->key_len,
|
||||
(unsigned char *)c->outkey + len - c->outcipher->key_len -
|
||||
c->outcipher->iv_len)) {
|
||||
logger(LOG_ERR, _("Error during initialisation of cipher for %s (%s): %s"),
|
||||
c->name, c->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
|
@ -237,7 +239,7 @@ bool metakey_h(connection_t *c)
|
|||
|
||||
/* Decrypt the meta key */
|
||||
|
||||
if(RSA_private_decrypt(len, buffer, c->inkey, myself->connection->rsa_key, RSA_NO_PADDING) != len) { /* See challenge() */
|
||||
if(RSA_private_decrypt(len, (unsigned char *)buffer, (unsigned char *)c->inkey, myself->connection->rsa_key, RSA_NO_PADDING) != len) { /* See challenge() */
|
||||
logger(LOG_ERR, _("Error during encryption of meta key for %s (%s)"),
|
||||
c->name, c->hostname);
|
||||
return false;
|
||||
|
@ -262,8 +264,8 @@ bool metakey_h(connection_t *c)
|
|||
}
|
||||
|
||||
if(!EVP_DecryptInit(c->inctx, c->incipher,
|
||||
c->inkey + len - c->incipher->key_len,
|
||||
c->inkey + len - c->incipher->key_len -
|
||||
(unsigned char *)c->inkey + len - c->incipher->key_len,
|
||||
(unsigned char *)c->inkey + len - c->incipher->key_len -
|
||||
c->incipher->iv_len)) {
|
||||
logger(LOG_ERR, _("Error during initialisation of cipher from %s (%s): %s"),
|
||||
c->name, c->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
|
@ -302,7 +304,7 @@ bool metakey_h(connection_t *c)
|
|||
|
||||
bool send_challenge(connection_t *c)
|
||||
{
|
||||
char buffer[MAX_STRING_SIZE];
|
||||
char *buffer;
|
||||
int len;
|
||||
|
||||
cp();
|
||||
|
@ -313,12 +315,14 @@ bool send_challenge(connection_t *c)
|
|||
|
||||
/* Allocate buffers for the challenge */
|
||||
|
||||
buffer = alloca(2 * len + 1);
|
||||
|
||||
if(!c->hischallenge)
|
||||
c->hischallenge = xmalloc(len);
|
||||
|
||||
/* Copy random data to the buffer */
|
||||
|
||||
RAND_pseudo_bytes(c->hischallenge, len);
|
||||
RAND_pseudo_bytes((unsigned char *)c->hischallenge, len);
|
||||
|
||||
/* Convert to hex */
|
||||
|
||||
|
@ -380,7 +384,7 @@ bool send_chal_reply(connection_t *c)
|
|||
|
||||
if(!EVP_DigestInit(&ctx, c->indigest)
|
||||
|| !EVP_DigestUpdate(&ctx, c->mychallenge, RSA_size(myself->connection->rsa_key))
|
||||
|| !EVP_DigestFinal(&ctx, hash, NULL)) {
|
||||
|| !EVP_DigestFinal(&ctx, (unsigned char *)hash, NULL)) {
|
||||
logger(LOG_ERR, _("Error during calculation of response for %s (%s): %s"),
|
||||
c->name, c->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
return false;
|
||||
|
@ -426,7 +430,7 @@ bool chal_reply_h(connection_t *c)
|
|||
|
||||
if(!EVP_DigestInit(&ctx, c->outdigest)
|
||||
|| !EVP_DigestUpdate(&ctx, c->hischallenge, RSA_size(c->rsa_key))
|
||||
|| !EVP_DigestFinal(&ctx, myhash, NULL)) {
|
||||
|| !EVP_DigestFinal(&ctx, (unsigned char *)myhash, NULL)) {
|
||||
logger(LOG_ERR, _("Error during calculation of response from %s (%s): %s"),
|
||||
c->name, c->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
return false;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
protocol_edge.c -- handle the meta-protocol, edges
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: protocol_edge.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: protocol_edge.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
protocol_key.c -- handle the meta-protocol, key exchange
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: protocol_key.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: protocol_key.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -142,10 +142,11 @@ bool req_key_h(connection_t *c)
|
|||
|
||||
bool send_ans_key(connection_t *c, const node_t *from, const node_t *to)
|
||||
{
|
||||
char key[MAX_STRING_SIZE];
|
||||
char *key;
|
||||
|
||||
cp();
|
||||
|
||||
key = alloca(2 * from->keylength + 1);
|
||||
bin2hex(from->key, key, from->keylength);
|
||||
key[from->keylength * 2] = '\0';
|
||||
|
||||
|
@ -261,7 +262,7 @@ bool ans_key_h(connection_t *c)
|
|||
from->compression = compression;
|
||||
|
||||
if(from->cipher)
|
||||
if(!EVP_EncryptInit_ex(&from->packet_ctx, from->cipher, NULL, from->key, from->key + from->cipher->key_len)) {
|
||||
if(!EVP_EncryptInit_ex(&from->packet_ctx, from->cipher, NULL, (unsigned char *)from->key, (unsigned char *)from->key + from->cipher->key_len)) {
|
||||
logger(LOG_ERR, _("Error during initialisation of key from %s (%s): %s"),
|
||||
from->name, from->hostname, ERR_error_string(ERR_get_error(), NULL));
|
||||
return false;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
protocol_misc.c -- handle the meta-protocol, miscellaneous functions
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: protocol_misc.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: protocol_misc.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -31,6 +31,8 @@
|
|||
#include "protocol.h"
|
||||
#include "utils.h"
|
||||
|
||||
int maxoutbufsize = 0;
|
||||
|
||||
/* Status and error notification routines */
|
||||
|
||||
bool send_status(connection_t *c, int statusno, const char *statusstring)
|
||||
|
@ -153,12 +155,15 @@ bool send_tcppacket(connection_t *c, vpn_packet_t *packet)
|
|||
{
|
||||
cp();
|
||||
|
||||
/* Evil hack. */
|
||||
/* If there already is a lot of data in the outbuf buffer, discard this packet. */
|
||||
|
||||
if(c->outbuflen > maxoutbufsize)
|
||||
return true;
|
||||
|
||||
if(!send_request(c, "%d %hd", PACKET, packet->len))
|
||||
return false;
|
||||
|
||||
return send_meta(c, packet->data, packet->len);
|
||||
return send_meta(c, (char *)packet->data, packet->len);
|
||||
}
|
||||
|
||||
bool tcppacket_h(connection_t *c)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
protocol_subnet.c -- handle the meta-protocol, subnets
|
||||
Copyright (C) 1999-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1999-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: protocol_subnet.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: protocol_subnet.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
device.c -- raw socket
|
||||
Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2002-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2002-2005 Ivo Timmermans,
|
||||
2002-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: device.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
52
src/route.c
52
src/route.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
route.c -- routing
|
||||
Copyright (C) 2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2000-2005 Ivo Timmermans,
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: route.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: route.c 1461 2006-08-09 22:31:10Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -163,17 +163,23 @@ void age_subnets(void)
|
|||
static void route_mac(node_t *source, vpn_packet_t *packet)
|
||||
{
|
||||
subnet_t *subnet;
|
||||
mac_t dest;
|
||||
|
||||
cp();
|
||||
|
||||
|
||||
/* Learn source address */
|
||||
|
||||
if(source == myself)
|
||||
learn_mac((mac_t *)(&packet->data[6]));
|
||||
if(source == myself) {
|
||||
mac_t src;
|
||||
memcpy(&src, &packet->data[6], sizeof src);
|
||||
learn_mac(&src);
|
||||
}
|
||||
|
||||
/* Lookup destination address */
|
||||
|
||||
subnet = lookup_subnet_mac((mac_t *)(&packet->data[0]));
|
||||
memcpy(&dest, &packet->data[0], sizeof dest);
|
||||
subnet = lookup_subnet_mac(&dest);
|
||||
|
||||
if(!subnet) {
|
||||
broadcast_packet(source, packet);
|
||||
|
@ -280,7 +286,7 @@ static void fragment_ipv4_packet(node_t *dest, vpn_packet_t *packet) {
|
|||
todo = ntohs(ip.ip_len) - ip_size;
|
||||
|
||||
if(ether_size + ip_size + todo != packet->len) {
|
||||
ifdebug(TRAFFIC) logger(LOG_WARNING, _("Length of packet (%d) doesn't match length in IPv4 header (%d)"), packet->len, ether_size + ip_size + todo);
|
||||
ifdebug(TRAFFIC) logger(LOG_WARNING, _("Length of packet (%d) doesn't match length in IPv4 header (%zd)"), packet->len, ether_size + ip_size + todo);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -316,18 +322,20 @@ static void route_ipv4_unicast(node_t *source, vpn_packet_t *packet)
|
|||
{
|
||||
subnet_t *subnet;
|
||||
node_t *via;
|
||||
ipv4_t dest;
|
||||
|
||||
cp();
|
||||
|
||||
subnet = lookup_subnet_ipv4((ipv4_t *) &packet->data[30]);
|
||||
memcpy(&dest, &packet->data[30], sizeof dest);
|
||||
subnet = lookup_subnet_ipv4(&dest);
|
||||
|
||||
if(!subnet) {
|
||||
ifdebug(TRAFFIC) logger(LOG_WARNING, _("Cannot route packet from %s (%s): unknown IPv4 destination address %d.%d.%d.%d"),
|
||||
source->name, source->hostname,
|
||||
packet->data[30],
|
||||
packet->data[31],
|
||||
packet->data[32],
|
||||
packet->data[33]);
|
||||
dest.x[0],
|
||||
dest.x[1],
|
||||
dest.x[2],
|
||||
dest.x[3]);
|
||||
|
||||
route_ipv4_unreachable(source, packet, ICMP_DEST_UNREACH, ICMP_NET_UNKNOWN);
|
||||
return;
|
||||
|
@ -454,22 +462,24 @@ static void route_ipv6_unicast(node_t *source, vpn_packet_t *packet)
|
|||
{
|
||||
subnet_t *subnet;
|
||||
node_t *via;
|
||||
ipv6_t dest;
|
||||
|
||||
cp();
|
||||
|
||||
subnet = lookup_subnet_ipv6((ipv6_t *) &packet->data[38]);
|
||||
memcpy(&dest, &packet->data[38], sizeof dest);
|
||||
subnet = lookup_subnet_ipv6(&dest);
|
||||
|
||||
if(!subnet) {
|
||||
ifdebug(TRAFFIC) logger(LOG_WARNING, _("Cannot route packet from %s (%s): unknown IPv6 destination address %hx:%hx:%hx:%hx:%hx:%hx:%hx:%hx"),
|
||||
source->name, source->hostname,
|
||||
ntohs(*(uint16_t *) &packet->data[38]),
|
||||
ntohs(*(uint16_t *) &packet->data[40]),
|
||||
ntohs(*(uint16_t *) &packet->data[42]),
|
||||
ntohs(*(uint16_t *) &packet->data[44]),
|
||||
ntohs(*(uint16_t *) &packet->data[46]),
|
||||
ntohs(*(uint16_t *) &packet->data[48]),
|
||||
ntohs(*(uint16_t *) &packet->data[50]),
|
||||
ntohs(*(uint16_t *) &packet->data[52]));
|
||||
ntohs(dest.x[0]),
|
||||
ntohs(dest.x[1]),
|
||||
ntohs(dest.x[2]),
|
||||
ntohs(dest.x[3]),
|
||||
ntohs(dest.x[4]),
|
||||
ntohs(dest.x[5]),
|
||||
ntohs(dest.x[6]),
|
||||
ntohs(dest.x[7]));
|
||||
|
||||
route_ipv6_unreachable(source, packet, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_ADDR);
|
||||
return;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
route.h -- header file for route.c
|
||||
Copyright (C) 2000-2005 Ivo Timmermans <zarq@iname.com>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: route.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: route.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_ROUTE_H__
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
device.c -- Interaction with Solaris tun device
|
||||
Copyright (C) 2001-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2001-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2001-2005 Ivo Timmermans,
|
||||
2001-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: device.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: device.c 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
|
||||
|
|
10
src/subnet.c
10
src/subnet.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
subnet.c -- handle subnet lookups and lists
|
||||
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: subnet.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: subnet.c 1459 2006-08-08 13:44:37Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -342,7 +342,7 @@ subnet_t *lookup_subnet_ipv4(const ipv4_t *address)
|
|||
break;
|
||||
}
|
||||
|
||||
if(!maskcmp(address, &p->net.ipv4.address, p->net.ipv4.prefixlength, sizeof(ipv4_t)))
|
||||
if(!maskcmp(address, &p->net.ipv4.address, p->net.ipv4.prefixlength))
|
||||
break;
|
||||
else {
|
||||
/* Otherwise, see if there is a bigger enclosing subnet */
|
||||
|
@ -378,7 +378,7 @@ subnet_t *lookup_subnet_ipv6(const ipv6_t *address)
|
|||
if(p->type != SUBNET_IPV6)
|
||||
return NULL;
|
||||
|
||||
if(!maskcmp(address, &p->net.ipv6.address, p->net.ipv6.prefixlength, sizeof(ipv6_t)))
|
||||
if(!maskcmp(address, &p->net.ipv6.address, p->net.ipv6.prefixlength))
|
||||
break;
|
||||
else {
|
||||
/* Otherwise, see if there is a bigger enclosing subnet */
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
subnet.h -- header for subnet.c
|
||||
Copyright (C) 2000-2005 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
||||
2000-2005 Ivo Timmermans
|
||||
|
||||
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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: subnet.h 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: subnet.h 1452 2006-04-26 13:52:58Z guus $
|
||||
*/
|
||||
|
||||
#ifndef __TINC_SUBNET_H__
|
||||
|
|
19
src/tincd.c
19
src/tincd.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
tincd.c -- the main file for tincd
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2000-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans
|
||||
2000-2006 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
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: tincd.c 1439 2005-05-04 18:09:30Z guus $
|
||||
$Id: tincd.c 1466 2006-11-11 20:10:46Z guus $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
@ -35,8 +35,14 @@
|
|||
#include <openssl/rsa.h>
|
||||
#include <openssl/pem.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/engine.h>
|
||||
|
||||
#ifdef HAVE_LZO_LZO1X_H
|
||||
#include <lzo/lzo1x.h>
|
||||
#endif
|
||||
#ifdef HAVE_LZO1X_H
|
||||
#include <lzo1x.h>
|
||||
#endif
|
||||
|
||||
#include <getopt.h>
|
||||
#include "pidfile.h"
|
||||
|
@ -407,7 +413,7 @@ int main(int argc, char **argv)
|
|||
if(show_version) {
|
||||
printf(_("%s version %s (built %s %s, protocol %d)\n"), PACKAGE,
|
||||
VERSION, __DATE__, __TIME__, PROT_CURRENT);
|
||||
printf(_("Copyright (C) 1998-2005 Ivo Timmermans, Guus Sliepen and others.\n"
|
||||
printf(_("Copyright (C) 1998-2006 Ivo Timmermans, Guus Sliepen and others.\n"
|
||||
"See the AUTHORS file for a complete list.\n\n"
|
||||
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
|
||||
"and you are welcome to redistribute it under certain conditions;\n"
|
||||
|
@ -448,6 +454,9 @@ int main(int argc, char **argv)
|
|||
|
||||
RAND_load_file("/dev/urandom", 1024);
|
||||
|
||||
ENGINE_load_builtin_engines();
|
||||
ENGINE_register_all_complete();
|
||||
|
||||
OpenSSL_add_all_algorithms();
|
||||
|
||||
if(generate_keys) {
|
||||
|
@ -506,5 +515,7 @@ end:
|
|||
remove_pid(pidfilename);
|
||||
#endif
|
||||
|
||||
EVP_cleanup();
|
||||
|
||||
return status;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
device.c -- UML network socket
|
||||
Copyright (C) 2002-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
|
||||
2002-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 2002-2005 Ivo Timmermans,
|
||||
2002-2006 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
|
||||
|
|
4
system.h
4
system.h
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
system.h -- system headers
|
||||
Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>
|
||||
2003-2005 Guus Sliepen <guus@tinc-vpn.org>
|
||||
Copyright (C) 1998-2005 Ivo Timmermans
|
||||
2003-2006 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
|
||||
|
|
Loading…
Reference in a new issue