Updating HEAD branch #5; Last files from CABAL.
authorIvo Timmermans <ivo@lychnis.net>
Tue, 9 Apr 2002 15:28:45 +0000 (15:28 +0000)
committerIvo Timmermans <ivo@lychnis.net>
Tue, 9 Apr 2002 15:28:45 +0000 (15:28 +0000)
12 files changed:
AUTHORS
Makefile.am
NEWS
README
THANKS
TODO
autogen.sh
configure.in
lib/Makefile.am
po/POTFILES.in
po/nl.po
src/Makefile.am

diff --git a/AUTHORS b/AUTHORS
index 532543f4edb47f854fa28df65f01bfb58b064951..4721984fa3ef658271a28909ef0a73748f6b5ad8 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -5,3 +5,9 @@ Ivo Timmermans <itimmermans@bigfoot.com>
 These files are from other sources:
  * lib/pidfile.h and lib/pidfile.c are by Martin Schulze, taken from
  the syslog 1.3 sources.
+
+Also some of the macro files in the directory m4, and their
+accompanying files in lib, were taken from GNU fileutils.
+
+Please see the file THANKS for more information on contributions from
+users.
index 19ae3014bcf2b275e80c3781330bcecd9b47a6d9..805c3123c4e0f709cd44fd016d6d1eb36fde3514 100644 (file)
@@ -2,25 +2,23 @@
 
 AUTOMAKE_OPTIONS = gnu
 
-SUBDIRS = m4 intl lib src doc po redhat debian
+SUBDIRS = m4 intl lib src doc po
 
 ACLOCAL_AMFLAGS =
 
-EXTRA_DIST = system.h ABOUT-NLS
+EXTRA_DIST = system.h COPYING.README depcomp
 
-CVS_CREATED = configure aclocal.m4 config.h.in config.guess \
+CVS_CREATED = ABOUT-NLS configure aclocal.m4 config.h.in config.guess \
  config.sub install-sh ltconfig ltmain.sh missing mkinstalldirs \
- stamp-h.in m4/Makefile.am ChangeLog
+ stamp-h.in m4/Makefile.am ChangeLog po/Makefile.in.in \
+ po/tinc.pot src/.libs intl depcomp
 
 ChangeLog:
-       rm -f ChangeLog
-       rcs2log -u "zarq        Ivo Timmermans  itimmermans@bigfoot.com" \
-         -u "guus      Guus Sliepen    guus@sliepen.warande.net" | \
-         sed -e 's,/home/CVS/tinc/,,g' > $@
+       cvs2cl -U cvsusers --fsf
 
 cvs-clean: maintainer-clean
-       for f in $(CVS_CREATED) `find -name Makefile.in` ; do\
-         rm -f "$$f"; \
+       for f in $(CVS_CREATED) `find . -name Makefile.in` tinc-$(VERSION).tar.gz; do\
+         rm -Rf "$$f"; \
        done
 
 deb:
@@ -29,5 +27,11 @@ deb:
 rpm: dist
        cp $(distdir).tar.gz /usr/src/redhat/SOURCES/
        cp redhat/tinc.spec /usr/src/redhat/SOURCES/
-       cd /usr/src/redhat/SOURCES/
-       rpm -bi tinc.spec
+       cd /usr/src/redhat/SOURCES/ && rpm -bb tinc.spec
+
+release:
+       rm -f ChangeLog
+       $(MAKE) ChangeLog
+       echo "Please edit the NEWS file now..."
+       /usr/bin/editor NEWS
+       $(MAKE) dist
diff --git a/NEWS b/NEWS
index ee5c2c1819cfea9674c33dab3ea84667a36adbf3..0317dd5ad4460add750bb7eee3224f2c855d61e7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,152 @@
+version 1.0pre7              Apr  7 2002
+
+* Don't do blocking read()s when getting a signal.
+
+* Remove RSA key checking code, since it sometimes thinks perfectly good RSA
+  keys are bad.
+
+* Fix handling of subnets when prefixlength isn't divisible by 8.
+
+
+version 1.0pre6              Mar 27 2002
+
+* Improvement of redundant links:
+
+  * Non-blocking connects.
+  
+  * Protocol broadcast messages can no longer go into an infinite loop.
+  
+  * Graph algorithm updated to look harder for direct connections.
+
+* Good support for routing IPv6 packets over the VPN. Works on Linux,
+  FreeBSD, possibly OpenBSD but not on Solaris.
+
+* Support for tunnels over IPv6 networks. Works on all supported
+  operating systems.
+
+* Optional compression of UDP connections using zlib.
+
+* Optionally let UDP connections inherit TOS field of tunneled packets.
+
+* Optionally start scripts when certain hosts become (un)reachable.
+
+
+version 1.0pre5              Feb  9 2002
+
+* Security enhancements:
+
+  * Added sequence number and optional message authentication code to
+    the packets.
+
+  * Configurable encryption cipher and digest algorithms.
+
+* More robust handling of dis- and reconnects.
+
+* Added a "switch" and a "hub" mode to allow bridging setups.
+
+* Preliminary support for routing of IPv6 packets.
+
+* Supports Linux, FreeBSD, OpenBSD and Solaris.
+
+
+It looks like this might be the last release before 1.0.
+
+
+version 1.0pre4              Jan 17 2001
+
+* Updated documentation; the documentation now reflects the
+  configuration as it is.
+
+* Some internal changes to make tinc scale better for large
+  networks, such as using AVL trees instead of linked lists for the
+  connection list.  
+
+* RSA keys can be stored in separate files if needed.  See the
+  documentation for more information.
+
+* tinc has now been reported to run on Linux PowerPC and FreeBSD x86.
+
+
+
+version 1.0pre3              Oct 31 2000
+
+* The protocol has been redesigned, and although some details are
+  still under discussion, this is secure.  Care has been taken to
+  resist most, if not all, attacks.
+  
+* Unfortunately this protocol is not compatible with earlier versions,
+  nor are earlier versions compatible with this version.  Because the
+  older protocol has huge security flaws, we feel that not
+  implementing backwards compatibility is justified.
+
+* Some data about the protocol:
+
+  * It uses public/private RSA keys for authentication (this is the
+    actual fix for the security hole).
+
+  * All cryptographic functions have been taken out of tinc, instead
+    it uses the OpenSSL library functions.
+
+  * Offers support for multiple subnets per tinc daemon.
+
+* New is also the support for the universal tun/tap device.  This
+  means better portability to FreeBSD and Solaris.
+
+* tinc is tested to compile on Solaris, Linux x86, Linux alpha.
+
+* tinc now uses the OpenSSL library for cryptographic operations.
+  More information on getting and installing OpenSSL is in the manual.
+  This also means that the GMP library is no longer required.
+
+* Further, thanks to Enrique Zanardi, we have Spanish messages; Matias
+  Carrasco provided us with a Spanish translation of the manual.
+
+
+What still needs to be done before 1.0:
+
+* Documentation.  Especially since the protocol has changed, and a lot
+  of configuration directives have been added.
+
+
+
+
 version 1.0pre2              May 31 2000
- * Internationalized, Dutch translation available
- * Many sanity checks on the meta protocol added
+
+* This version has been internationalized; and a Dutch translation has          
+  been included.                                                                
+                                                                                
+* Two configuration variables have been added:                                  
+  * VpnMask - the IP network mask for the entire VPN, not just our              
+    subnet (as given by MyVirtualIP).  The Redhat and Debian packages           
+    use this variable in their system startup scripts, but it is                
+    ignored by tinc.                                                            
+  * Hostnames - if set to `yes', look up the names of IP addresses              
+    trying to connect to us.  Default set to `no', to prevent lockups           
+    during lookups.                                                             
+                                                                                
+* The system startup scripts for Debian and Redhat use                          
+  /etc/tinc/nets.boot to find out which networks need to be started             
+  during system boot.                                                           
+                                                                                
+* Fixes to prevent denial of service attacks by sending random data             
+  after connecting (and even when the connection has been established),         
+  either random garbage or just nonsensical protocol fields.                    
+                                                                                
+* tinc will retry to connect upon startup, does not quit if it doesn't          
+  work the first time.                                                          
+                                                                                
+* Hosts that are disconnected implicitly if we lose a connection get            
+  deleted from the internal list, to prevent hogging eachother with             
+  add and delete requests when the connection is restored.                      
+                                                                                
+                                                                                
+What still needs to be done before 1.0:                                         
+                                                                                
+* Documentation.                                                                
+* Failover ConnectTo lines, try another one if the first doesn't work.          
+
+
+
 
 version 1.0pre1              May 12 2000
  * New meta-protocol
diff --git a/README b/README
index 7c0fe125e0608ce16ee6b02b78959892be0c88dd..d75d7f65b4dd072a1a6c14f268b9ecbdb411f5de 100644 (file)
--- a/README
+++ b/README
@@ -1,9 +1,13 @@
-This is the README file for tinc version 1.0.
-Installation instructions may be found in the INSTALL file.
+This is the README file for tinc version 1.0pre7. Installation
+instructions may be found in the INSTALL file.
 
-tinc is Copyright (C) 1998,1999,2000 Ivo Timmermans
-<itimmermans@bigfoot.com>, Guus Sliepen <guus@sliepen.warande.net> and
-others. For a complete list of authors see the AUTHORS file.
+tinc is Copyright (C) 1998-2002 by:
+
+Ivo Timmermans <itimmermans@bigfoot.com>,
+Guus Sliepen <guus@sliepen.warande.net>,
+and others.
+
+For a complete list of authors see the AUTHORS file.
 
 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,6 +15,36 @@ the Free Software Foundation; either version 2 of the License, or (at
 your option) any later version. See the file COPYING for more details.
 
 
+Security statement
+------------------
+
+In August 2000, we discovered the existence of a security hole in all versions
+of tinc up to and including 1.0pre2. This had to do with the way we exchanged
+keys. Since then, we have been working on a new authentication scheme to make
+tinc as secure as possible. The current version uses the OpenSSL library and
+uses strong authentication with RSA keys.
+
+On the 29th of December 2001, Jerome Etienne posted a security analysis of tinc
+1.0pre4. Due to a lack of sequence numbers and a message authentication code
+for each packet, an attacker could possibly disrupt certain network services or
+launch a denial of service attack by replaying intercepted packets. The current
+version adds sequence numbers and message authentication codes to prevent such
+attacks.
+
+Cryptography is a hard thing to get right. We cannot make any
+guarantees. Time, review and feedback are the only things that can
+prove the security of any cryptographic product. If you wish to review
+tinc or give us feedback, you are stronly encouraged to do so.
+
+
+Changes to configuration file format since 1.0pre5
+--------------------------------------------------
+
+Some configuration variables have different names now. Most notably "TapDevice"
+should be changed into "Device", and "Device" should be changed into
+"BindToDevice".
+
+
 Requirements
 ------------
 
@@ -21,6 +55,14 @@ this library is not installed on you system, configure will fail.  The
 manual in doc/tinc.texi contains more detailed information on how to
 install this library.
 
+Since 1.0pre6, the zlib library is used for optional compression. You need this
+library whether or not you plan to enable the compression. You can find it at
+http://www.gzip.org/zlib/. Because of a possible exploit in earlier versions we
+recommand that you download version 1.1.4 or later.
+
+In order to compile tinc, you will also need autoconf, automake, GNU make, m4
+and gettext.
+
 
 Features
 --------
@@ -30,18 +72,46 @@ use this feature, you may supply a netname via the -n or --net
 options. The standard locations for the config files will then be
 /etc/tinc/<net>/. Because of this feature, tinc will send packets
 directly to their destinations, instead of to the uplink. If this
-behaviour is undesirable (for instance because of firewalls or
-other restrictions), please use an older version of tinc (I would
-recommend tinc-0.2.19).
+behaviour is undesirable (for instance because of firewalls or other
+restrictions), please use an older version of tinc (I would recommend
+tinc-0.2.19).
 
-In this version, MAC addresses are stripped off before encoding and
-sending a packet. When the packet reaches its destination, the MAC
-addresses are rebuilt again. They then have the form
-FE:FD:aa:bb:cc:dd. aa, bb, cc and dd are taken from the destination
-and source IP address.  See the manual for more detailed information.
+In order to force the kernel to accept received packets, the
+destination MAC address will be set to FE:FD:00:00:00:00 upon
+reception. The MAC address of the ethertap or tun/tap interface must
+also be set to this address. See the manual for more detailed
+information.
 
 tincd regenerates its encryption key pairs. It does this on the first
 activity after the keys have expired. This period is adjustable in the
-configuration file, and the default time is 3600 seconds (one
-hour). If you send a USR2 signal to the daemon, it'll regenerate
-immediately.
+configuration file, and the default time is 3600 seconds (one hour).
+
+This version supports multiple subnets at once. They are also sorted
+on subnet mask size. This means that it is possible to have
+overlapping subnets on the VPN, as long as their subnet mask sizes
+differ.
+
+Since pre5, tinc can operate in several routing modes. The default mode,
+"router", works exactly like the older version, and uses Subnet lines to
+determine the destination of packets. The other two modes, "switch" and "hub",
+allow the tinc daemons to work together like a single network switch or hub.
+This is useful for bridging networks. The latter modes only work properly on
+Linux and FreeBSD.
+
+The algorithms used for encryption and generating message authentication codes
+can now be changed in the configuration files. All cipher and digest algorithms
+supported by OpenSSL can be used. Useful ciphers are "blowfish" (default),
+"bf-ofb", "des", "des3", etcetera. Useful digests are "sha1" (default), "md5",
+etcetera.
+
+Support for routing IPv6 packets has been added. Just add Subnet lines with
+IPv6 addresses (without using :: abbreviations) and use ifconfig or ip (from
+the iproute package) to give the virtual network interface corresponding IPv6
+addresses. Autoconfiguration will not work in router mode. Tunneling IPv6
+packets only works on Linux, FreeBSD and possibly OpenBSD.
+
+It is also possible to make tunnels to other tinc daemons over IPv6 networks.
+In order to enable this feature the option "AddressFamily = any" or
+"AddressFamily = ipv6" must be added to the tinc.conf file. The host
+configuration files should contain IPv6 addresses for the "Address" variables,
+or hostnames which have an AAAA or A6 record.
diff --git a/THANKS b/THANKS
index 6116810a009a1a8a92be8c57a8b69d556a28c7dd..e4cfd6d00f1a5c8e94c976bacd8cea14677b4466 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -1,4 +1,4 @@
-I would like to thank
+We would like to thank
 
  * Hans Bayle (for making some useful coding suggestions and fixing a
    bug or two)
@@ -14,7 +14,12 @@ I would like to thank
  * Cris van Pelt (small fixes)
  * Enrique Zanardi (for the Spanish translation)
  * Matias Carrasco (for the Spanish translation of the manual)
+ * Jamie Briggs (for finding a lot of socket leaks)
+ * Armijn Hemel (for being our very own PR manager)
+ * Jerome Etienne (for a thorough security analysis of tinc)
+ * Mark Glines (for his compression patch) 
 
 for their help, support and ideas.  Thank you guys!
 
-And especially Guus Sliepen, for starting this whole project...
+Ivo Timmermans
+Guus Sliepen
diff --git a/TODO b/TODO
index 4415e16334a24dd80b3bd097e7378bc1156423e2..c0f2ee3f94c6888824afc1754e6714eb4b41a577 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,9 +1,5 @@
-Things left to do to make cabal superstable:
---------------------------------------------
- * Check for connection loops. Inter-daemon
-   connections should always satisfy the
-   tree property.
- * Redundancy: multiple ConnectTo lines, if
-   one fails others might be tried.
- * Allow connects to hosts that use
-   nodirectdata.
+TODO LIST
+
+1.0:
+
+* A nice, secure and stable release
index 09e5ecdcff1f8d8fc44687289db93074b965af65..21a0f4c1283cb6b560f0341dbbadfd58d09a0dda 100644 (file)
@@ -4,7 +4,12 @@
 
 DIE=0
 
-srcdir="`pwd`"
+if ${MAKE:-gmake} -q -C . autogen.sh 2> /dev/null
+then
+  alias make=${MAKE:-gmake}
+fi
+
+srcdir="`/bin/pwd`"
 
 (autoconf --version) < /dev/null > /dev/null 2>&1 || {
   echo
index 7f66487e5781846b2e4e55a44622c34bdf1f39d7..bb6e573dfd41d3851cb569ba78ed0436d6add432 100644 (file)
@@ -1,9 +1,9 @@
 dnl Process this file with autoconf to produce a configure script.
 
-dnl $Id: configure.in,v 1.16 2000/10/19 20:39:04 zarq Exp $
+dnl $Id: configure.in,v 1.17 2002/04/09 15:28:45 zarq Exp $
 
 AC_INIT(src/tincd.c)
-AM_INIT_AUTOMAKE(tinc, 1.0pre3)
+AM_INIT_AUTOMAKE(tinc, 1.0-cvs)
 AM_CONFIG_HEADER(config.h)
 
 dnl Include the macros from the m4/ directory
@@ -14,7 +14,7 @@ AM_ACLOCAL_INCLUDE(m4)
 # in the latter don't make it into the configure-time tests.
 AC_DEFINE([_GNU_SOURCE], [__USE_BSD])
 
-ALL_LINGUAS="es nl"
+ALL_LINGUAS="nl"
 
 dnl Checks for programs.
 AC_PROG_CC
@@ -25,15 +25,45 @@ AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
 jm_PERL
-AM_PROG_LIBTOOL
+
 
 AC_ISC_POSIX
 
+dnl Check and set OS
+
+AC_CANONICAL_HOST
+
+case $host_os in
+  *linux*)
+    AC_DEFINE(HAVE_LINUX)
+    [ rm -f src/device.c; ln -sf linux/device.c src/device.c ]
+  ;;
+  *freebsd*)
+    AC_DEFINE(HAVE_FREEBSD)
+    [ rm -f src/device.c; ln -sf freebsd/device.c src/device.c ]
+  ;;
+  *solaris*)
+    AC_DEFINE(HAVE_SOLARIS)
+    [ rm -f src/device.c; ln -sf solaris/device.c src/device.c ]
+  ;;
+  *openbsd*)
+    AC_DEFINE(HAVE_OPENBSD)
+    [ rm -f src/device.c; ln -sf openbsd/device.c src/device.c ]
+  ;;
+  *netbsd*)
+    AC_DEFINE(HAVE_NETBSD)
+    [ rm -f src/device.c; ln -sf netbsd/device.c src/device.c ]
+  ;;
+esac
+
+AC_CACHE_SAVE
+
 dnl Checks for libraries.
 
 dnl Checks for header files.
 AC_HEADER_STDC
-AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h syslog.h unistd.h sys/time.h linux/if_tun.h)
+AC_CHECK_HEADERS([fcntl.h limits.h sys/ioctl.h syslog.h unistd.h \
+sys/time.h malloc.h strings.h sys/file.h])
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -46,12 +76,14 @@ dnl Checks for library functions.
 AC_FUNC_MEMCMP
 AC_FUNC_ALLOCA
 AC_TYPE_SIGNAL
-AC_CHECK_FUNCS(ftime socket select strtol strerror)
+AC_CHECK_FUNCS([ftime socket select strtol strerror flock unsetenv \
+asprintf putenv strdup fcloseall daemon strsignal get_current_dir_name])
 jm_FUNC_MALLOC
 jm_FUNC_REALLOC
 
 AM_GNU_GETTEXT
 
+
 dnl Support for SunOS
 
 AC_CHECK_FUNC(socket, [], [
@@ -61,39 +93,33 @@ AC_CHECK_FUNC(gethostbyname, [], [
   AC_CHECK_LIB(nsl, gethostbyname)
 ])
 
+AC_CACHE_SAVE
 
-dnl From the autoconf manual
-AC_CHECK_FUNCS(syslog)
-if test $ac_cv_func_syslog = no; then
-  # syslog is not in the default libraries.  See if it's in some other.
-  for lib in bsd socket inet; do
-    AC_CHECK_LIB($lib, syslog, [AC_DEFINE(HAVE_SYSLOG)
-      LIBS="$LIBS $lib"; break])
-  done
-fi
-
-AC_CHECK_LIB(dl, dlopen, [
-  LIBS="$LIBS -ldl"
-])
-
-
-dnl Crypto stuff
-
-libcrypto=none
-AC_CHECK_LIB(crypto, SHA1_version, [
-  libcrypto=yes
-])
-
-if test $libcrypto = none; then
-  AC_MSG_ERROR(It seems like OpenSSL is not installed on this system.)
-else
-  LIBS="$LIBS -lcrypto"
-fi
-
-
-dnl Check for TUN/TAP support in the kernel
+dnl These are defined in files in m4/
 tinc_TUNTAP
-
-AC_OUTPUT([Makefile src/Makefile
-doc/Makefile doc/es/Makefile intl/Makefile lib/Makefile
-m4/Makefile po/Makefile.in redhat/Makefile debian/Makefile])
+tinc_OPENSSL
+tinc_ZLIB
+
+dnl Check if support for jumbograms is requested 
+AC_ARG_ENABLE(jumbograms,
+  [  --enable-jumbograms     enable support for jumbograms (packets up to 9000 bytes)],
+  [ AC_DEFINE(ENABLE_JUMBOGRAMS) ]
+)
+
+dnl Check if checkpoint tracing has to be enabled
+AC_ARG_ENABLE(tracing,
+  [  --enable-tracing        enable checkpoint tracing (debugging only)],
+  [ AC_DEFINE(ENABLE_TRACING) ]
+)
+
+AC_SUBST(INCLUDES)
+
+AC_OUTPUT(Makefile
+src/Makefile
+doc/Makefile
+doc/es/Makefile
+intl/Makefile
+lib/Makefile
+m4/Makefile
+po/Makefile.in
+)
index 8e5844a53d32c141ce59d3eae1ab6c5f948e9f4e..6f56abca570f7e1613912037d2fded617a0503e6 100644 (file)
@@ -1,16 +1,15 @@
 ## Process this file with automake to produce Makefile.in
-# $Id: Makefile.am,v 1.4 2000/10/20 16:42:22 zarq Exp $
+# $Id: Makefile.am,v 1.5 2002/04/09 15:28:45 zarq Exp $
 
 noinst_LIBRARIES = libvpn.a
 
-INCLUDES = -I. -I$(top_builddir) -I$(top_srcdir)/intl
+INCLUDES = @INCLUDES@ -I. -I$(top_builddir) -I$(top_srcdir)/intl
 
-libvpn_a_SOURCES = xmalloc.c pidfile.c utils.c getopt.c getopt1.c \
-       list.c error.c
+libvpn_a_SOURCES = xmalloc.c pidfile.c utils.c getopt.c getopt1.c list.c avl_tree.c dropin.c
 
 libvpn_a_LIBADD = @LIBOBJS@ @ALLOCA@
 libvpn_a_DEPENDENCIES = $(libvpn_a_LIBADD)
 
-noinst_HEADERS = xalloc.h pidfile.h utils.h getopt.h list.h error.h
+noinst_HEADERS = xalloc.h pidfile.h utils.h getopt.h list.h avl_tree.h dropin.h
 
-EXTRA_DIST = README
\ No newline at end of file
+EXTRA_DIST = README
index df8b507c00cc9b1ac9d7006fb027f5168fb8be3d..4e52a3ae305ae49b0a855c16757ad955c6470213 100644 (file)
@@ -6,10 +6,28 @@
 lib/pidfile.c
 lib/utils.c
 src/conf.c
-src/genauth.c
+src/connection.c
 src/meta.c
 src/net.c
+src/net_packet.c
+src/net_setup.c
+src/net_socket.c
 src/netutl.c
 src/protocol.c
+src/protocol_auth.c
+src/protocol_edge.c
+src/protocol_key.c
+src/protocol_misc.c
+src/protocol_subnet.c
 src/subnet.c
 src/tincd.c
+src/process.c
+src/route.c
+src/node.c
+src/edge.c
+src/graph.c
+src/linux/device.c
+src/freebsd/device.c
+src/solaris/device.c
+src/netbsd/device.c
+src/openbsd/device.c
index 44e097f347f800886d51350f1e3c8bedc988ca99..0f37900c83a2f7ba8641c9820cb044873ed8fece 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
 # Dutch messages for tinc
-# Copyright (C) 1999, 2000 Ivo Timmermans, Guus Sliepen.
-# Ivo Timmermans <itimmermans@bigfoot.com>, 1999, 2000.
-# Guus Sliepen <guus@sliepen.warande.net>, 2000.
+# Copyright (C) 1999-2001 Ivo Timmermans, Guus Sliepen.
+# Ivo Timmermans <itimmermans@bigfoot.com>, 1999-2002.
+# Guus Sliepen <guus@sliepen.warande.net>, 2000-2002.
 msgid ""
 msgstr ""
-"Project-Id-Version: tinc 1.0pre3\n"
-"POT-Creation-Date: 2000-10-15 02:53+0200\n"
-"PO-Revision-Date: 2000-05-31 20:14+02:00\n"
+"Project-Id-Version: tinc 1.0-cvs\n"
+"POT-Creation-Date: 2002-04-09 13:41+0200\n"
+"PO-Revision-Date: 2002-03-27 16:59+0100\n"
 "Last-Translator: Guus Sliepen <guus@sliepen.warande.net>\n"
 "Language-Team: Dutch <vertaling@nl.linux.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/conf.c:164
+#: src/conf.c:173
 #, c-format
-msgid "Line %d too long while reading config file %s"
-msgstr "Regel %d te lang tijdens het lezen van configuratie bestand %s"
+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:188
+#, 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:180
+#: src/conf.c:218
 #, c-format
-msgid "Invalid variable name on line %d while reading config file %s"
+msgid ""
+"Hostname or IP address expected for configuration variable %s in %s line %d"
 msgstr ""
-"Ongeldige naam voor variabele op regel %d tijdens het lezen van configuratie "
-"bestand %s"
+"Hostnaam of IP adres verwacht voor configuratievariabele %s in %s regel %d"
+
+#: src/conf.c:235
+#, c-format
+msgid "Port number expected for configuration variable %s in %s line %d"
+msgstr "Poortnummer verwacht voor configuratievariabele %s in %s regel %d"
+
+#: src/conf.c:251
+#, 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:187
+#: src/conf.c:261
 #, c-format
-msgid "No value for variable on line %d while reading config file %s"
+msgid ""
+"Network address and prefix length do not match for configuration variable %s "
+"in %s line %d"
 msgstr ""
-"Geen waarde voor variabele op regel %d  tijdens het lezen van configuratie "
-"bestand %s"
+"Netwerk adres en prefix lengte komen niet overeen bij configuratievariabele %"
+"s in %s regel %d"
 
-#: src/conf.c:195
+#: src/conf.c:369
 #, c-format
-msgid "Invalid value for variable on line %d while reading config file %s"
+msgid "Cannot open config file %s: %s"
+msgstr "Kan configuratie bestand %s niet openen: %s"
+
+#: src/conf.c:405
+#, c-format
+msgid "No value for variable `%s' on line %d while reading config file %s"
 msgstr ""
-"Ongeldige waarde voor variabele op regel %d  tijdens het lezen van "
+"Geen waarde voor variabele `%s' op regel %d tijdens het lezen van "
 "configuratie bestand %s"
 
-#: src/genauth.c:78
+#: src/conf.c:438
 #, c-format
-msgid "Usage: %s bits\n"
-msgstr "Gebruik: %s bits\n"
+msgid "Failed to read `%s': %s"
+msgstr "Lezen van `%s' mislukte: %s"
 
-#: src/genauth.c:89
+#: src/conf.c:465
 #, c-format
-msgid "Illegal number: %s\n"
-msgstr "Ongeldig nummer: %s\n"
+msgid "`%s' is not an absolute path"
+msgstr "`%s' is geen absoluut pad"
 
-#. Align to bytes for easy mallocing and reading
-#: src/genauth.c:95
+#: src/conf.c:481 src/conf.c:513
 #, c-format
-msgid "Generating %d bits keys:\n"
-msgstr "Bezig met genereren van een %d bits sleutel:\n"
+msgid "Couldn't stat `%s': %s"
+msgstr "Kon `%s' niet statten: %s"
 
-#: src/genauth.c:99
-msgid "Done.\n"
-msgstr "Klaar.\n"
+#: src/conf.c:487 src/conf.c:522
+#, c-format
+msgid "`%s' is owned by UID %d instead of %d"
+msgstr "`%s' is eigendom van UID %d in plaats van %d"
+
+#: src/conf.c:494 src/conf.c:529
+#, c-format
+msgid "Warning: `%s' is a symlink"
+msgstr "Waarschuwing: `%s' is een symbolische link"
+
+#: src/conf.c:499 src/conf.c:534
+#, c-format
+msgid "Unable to read symbolic link `%s': %s"
+msgstr "Kan symbolische link `%s' niet lezen: %s"
+
+#. Accessible by others
+#: src/conf.c:545
+#, c-format
+msgid "`%s' has unsecure permissions"
+msgstr "`%s' heeft onveilige permissies"
+
+#. Ask for a file and/or directory name.
+#: src/conf.c:570
+#, c-format
+msgid "Please enter a file to save %s to [%s]: "
+msgstr "Geef een bestand om de %s naar de schrijven [%s]: "
 
-#: src/genauth.c:101
+#: src/conf.c:576
 #, c-format
-msgid "Public key:  %s\n"
-msgstr "Publieke sleutel: %s\n"
+msgid "Error while reading stdin: %s\n"
+msgstr "Fout tijdens lezen van standaardinvoer: %s\n"
 
-#: src/genauth.c:102
+#: src/conf.c:602
 #, c-format
-msgid "Private key: %s\n"
-msgstr "Privé sleutel:    %s\n"
+msgid "Error opening file `%s': %s\n"
+msgstr "Fout bij het openen van het bestand `%s': %s\n"
 
-#: src/meta.c:42
+#: src/conf.c:612
 #, c-format
-msgid "Sending %d bytes of metadata to %s (%s): %s"
-msgstr "Verzending %d bytes metadata naar %s (%s): %s"
+msgid ""
+"The file `%s' (or any of the leading directories) has unsafe permissions.\n"
+"I will not create or overwrite this file.\n"
+msgstr ""
+"Het bestand `%s' (of een van de voorgaande mappen) heeft onvoldoende "
+"bescherming.\n"
+"Ik maak of overschrijf dit bestand niet.\n"
+
+#: src/connection.c:114
+msgid "Connections:"
+msgstr "Verbindingen:"
 
-#: src/meta.c:57
+#: src/connection.c:119
 #, c-format
-msgid "Sending meta data to %s (%s) failed: %m"
-msgstr "Fout tijdens verzenden metadata naar %s (%s): %m"
+msgid " %s at %s options %lx socket %d status %04x"
+msgstr " %s op %s opties %lx socket %d status %04x"
 
-#: src/meta.c:85 src/net.c:773
+#: src/connection.c:123
+msgid "End of connections."
+msgstr "Einde van verbindingen."
+
+#: src/meta.c:49
 #, c-format
-msgid "This is a bug: %s:%d: %d:%m %s (%s)"
-msgstr "Dit is een programmeerfout: %s:%d: %d:%m %s (%s)"
+msgid "Sending %d bytes of metadata to %s (%s)"
+msgstr "Verzenden van %d bytes metadata naar %s (%s)"
 
-#: src/meta.c:91
+#: src/meta.c:63
+#, c-format
+msgid "Sending meta data to %s (%s) failed: %s"
+msgstr "Fout tijdens verzenden metadata naar %s (%s): %s"
+
+#: src/meta.c:94
+#, c-format
+msgid "This is a bug: %s:%d: %d:%s %s (%s)"
+msgstr "Dit is een programmeerfout: %s:%d: %d:%s %s (%s)"
+
+#: src/meta.c:100
 #, c-format
 msgid "Metadata socket error for %s (%s): %s"
 msgstr "Fout op metadata socket voor %s (%s): %s"
 
-#: src/meta.c:110
+#: src/meta.c:121
 #, c-format
 msgid "Connection closed by %s (%s)"
 msgstr "Verbinding beëindigd door %s (%s)"
 
-#: src/meta.c:114
+#: src/meta.c:128
 #, c-format
-msgid "Metadata socket read error for %s (%s): %m"
-msgstr "Fout op metadata socket voor %s (%s) tijdens lezen: %m"
+msgid "Metadata socket read error for %s (%s): %s"
+msgstr "Fout op metadata socket voor %s (%s) tijdens lezen: %s"
 
-#: src/meta.c:144
+#: src/meta.c:202
 #, c-format
-msgid "Got request from %s (%s): %s"
-msgstr "Kreeg verzoek van %s (%s): %s"
+msgid "Metadata read buffer overflow for %s (%s)"
+msgstr "Metadata leesbuffer overloop voor %s (%s)"
+
+#: src/net.c:88
+msgid "Purging unreachable nodes"
+msgstr "Verwijderen onbereikbare nodes"
 
-#: src/meta.c:162
+#: src/net.c:98
 #, c-format
-msgid "Metadata read buffer overflow for %s (%s)"
-msgstr "Metadata leesbuffer overvol voor %s (%s)"
+msgid "Purging node %s (%s)"
+msgstr "Verwijdering node %s (%s)"
 
-#: src/net.c:106
+#: src/net.c:188
 #, c-format
-msgid "Sending packet of %d bytes to %s (%s)"
-msgstr "Verzending pakket van %d bytes naar %s (%s)"
+msgid "Closing connection with %s (%s)"
+msgstr "Beëindigen verbinding met %s (%s)"
+
+#: src/net.c:253
+#, c-format
+msgid "%s (%s) didn't respond to PING"
+msgstr "%s (%s) antwoordde niet op ping"
 
-#: src/net.c:115
+#: src/net.c:266
 #, c-format
-msgid "Error sending packet to %s (%s): %m"
-msgstr "Fout tijdens verzenden pakket naar %s (%s): %m"
+msgid "Timeout from %s (%s) during authentication"
+msgstr "Timeout van %s (%s) tijdens authenticatie"
 
-#: src/net.c:129
+#: src/net.c:311 src/net_socket.c:253
 #, c-format
-msgid "Receiving packet of %d bytes"
-msgstr "Ontvangst pakket van %d bytes"
+msgid "Error while connecting to %s (%s): %s"
+msgstr "Fout tijdens schrijven naar %s (%s): %s"
 
-#: src/net.c:142
+#: src/net.c:363
 #, c-format
-msgid "Can't write to tap device: %m"
-msgstr "Kan niet naar tap apparaat schrijven: %m"
+msgid "Error while waiting for input: %s"
+msgstr "Fout tijdens wachten op invoer: %s"
 
-#: src/net.c:242
-msgid "Queue flushed"
-msgstr "Wachtrij leeggemaakt"
+#: src/net.c:397
+msgid "Regenerating symmetric key"
+msgstr "Hergenereren symmetrische sleutel"
 
-#: src/net.c:257
+#: src/net.c:414
+msgid "Flushing event queue"
+msgstr "Legen taakrij"
+
+#: src/net.c:431
+msgid "Rereading configuration file and restarting in 5 seconds..."
+msgstr "Herlezen configuratiebestand en herstarten na 5 seconden..."
+
+#: src/net.c:438
+msgid "Unable to reread configuration file, exitting."
+msgstr "Kan configuratiebestand niet herlezen, beëindigen."
+
+#: src/net_packet.c:107
 #, c-format
-msgid "Flushing send queue for %s (%s)"
-msgstr "Legen van verzend-wachtrij voor %s (%s)"
+msgid "Got unauthenticated packet from %s (%s)"
+msgstr "Kreeg niet-geauthenticeerd pakket van %s (%s)"
 
-#: src/net.c:265
+#: src/net_packet.c:134
 #, c-format
-msgid "Flushing receive queue for %s (%s)"
-msgstr "Legen van de ontvangst-wachtrij voor %s (%s)"
+msgid "Got late or replayed packet from %s (%s), seqno %d"
+msgstr "Kreeg laat of gedupliceerd pakket van %s (%s), seqno %d"
 
-#: src/net.c:283
+#: src/net_packet.c:151
 #, c-format
-msgid "Trying to look up %d.%d.%d.%d in connection list failed!"
-msgstr "Poging tot opzoeken %d.%d.%d.%d in verbindingslijst mislukte!"
+msgid "Error while uncompressing packet from %s (%s)"
+msgstr "Fout tijdens decomprimeren pakket van %s (%s)"
 
-#: src/net.c:297
+#: src/net_packet.c:178
 #, c-format
-msgid "Could not open UDP connection to %s (%s)"
-msgstr "Kon geen UDP verbinding openen naar %s (%s)"
+msgid "Received packet of %d bytes from %s (%s)"
+msgstr "Ontvangst pakket van %d bytes van %s (%s)"
 
-#: src/net.c:305
+#: src/net_packet.c:204
 #, 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 de wachtrij "
-"gezet"
+"Nog geen geldige sleutel bekend voor %s (%s), pakket wordt in wachtrij gezet"
 
-#: src/net.c:316
+#: src/net_packet.c:237
 #, c-format
-msgid "%s (%s) is not ready, queueing packet"
-msgstr "%s (%s) is niet gereed, pakket wordt in de wachtrij gezet"
+msgid "Error while compressing packet to %s (%s)"
+msgstr "Fout tijdens comprimeren pakket naar %s (%s)"
 
-#: src/net.c:344
+#: src/net_packet.c:288
 #, c-format
-msgid "Could not open %s: %m"
-msgstr "Kon %s niet openen: %m"
+msgid "Setting outgoing packet priority to %d"
+msgstr "Instellen prioriteit uitgaand pakket op %d"
 
-#: src/net.c:360
+#. SO_PRIORITY doesn't seem to work
+#: src/net_packet.c:290 src/net_setup.c:450 src/net_socket.c:98
+#: src/net_socket.c:144 src/net_socket.c:171 src/process.c:273
+#: src/process.c:310
 #, c-format
-msgid "%s is a new style tun/tap device"
-msgstr "%s is een nieuwe stijl tun/tap apparaat"
+msgid "System call `%s' failed: %s"
+msgstr "Systeemaanroep `%s' mislukte: %s"
 
-#: src/net.c:362
-msgid "tun/tap device will be left unconfigured"
-msgstr "tun/tap apparaat wordt ongeconfigureerd gelaten"
-
-#: src/net.c:384
+#: src/net_packet.c:296
 #, c-format
-msgid "Creating metasocket failed: %m"
-msgstr "Aanmaak van metasocket mislukt: %m"
+msgid "Error sending packet to %s (%s): %s"
+msgstr "Fout tijdens verzenden pakket naar %s (%s): %s"
 
-#: src/net.c:390 src/net.c:396 src/net.c:458
+#: src/net_packet.c:313
 #, c-format
-msgid "setsockopt: %m"
-msgstr "setsockopt: %m"
+msgid "Sending packet of %d bytes to %s (%s)"
+msgstr "Verzending pakket van %d bytes naar %s (%s)"
+
+#: src/net_packet.c:320
+msgid "Packet is looping back to us!"
+msgstr "Pakket komt terug naar ons!"
 
-#: src/net.c:403 src/net.c:465
+#: src/net_packet.c:329
 #, c-format
-msgid "fcntl: %m"
-msgstr "fcntl: %m"
+msgid "Node %s (%s) is not reachable"
+msgstr "Node %s (%s) is niet bereikbaar"
 
-#: src/net.c:411
+#: src/net_packet.c:337
 #, c-format
-msgid "Unable to bind listen socket to interface %s: %m"
-msgstr "Kon luistersocket niet binden aan interface %s: %m"
+msgid "Sending packet to %s via %s (%s)"
+msgstr "Verzending pakket naar %s via %s (%s)"
 
-#: src/net.c:427
+#: src/net_packet.c:357
 #, c-format
-msgid "Can't bind to port %hd/tcp: %m"
-msgstr "Kan niet aan poort %hd/tcp binden: %m"
+msgid "Broadcasting packet of %d bytes from %s (%s)"
+msgstr "Verspreiding pakket van %d bytes van %s (%s)"
 
-#: src/net.c:433
+#: src/net_packet.c:374
 #, c-format
-msgid "listen: %m"
-msgstr "listen: %m"
+msgid "Flushing queue for %s (%s)"
+msgstr "Legen van wachtrij voor %s (%s)"
 
-#: src/net.c:452
+#: src/net_packet.c:396
 #, c-format
-msgid "Creating socket failed: %m"
-msgstr "Aanmaak socket mislukte: %m"
+msgid "This is a bug: %s:%d: %d:%s"
+msgstr "Dit is een programmeerfout: %s:%d: %d:%s"
 
-#: src/net.c:476
+#: src/net_packet.c:403
 #, c-format
-msgid "Can't bind to port %hd/udp: %m"
-msgstr "Kan niet aan poort %hd/udp binden: %m"
+msgid "Incoming data socket error: %s"
+msgstr "Fout op socket voor inkomend verkeer: %s"
 
-#: src/net.c:493
+#: src/net_packet.c:409
 #, c-format
-msgid "Trying to connect to %s"
-msgstr "Poging tot verbinding met %s"
+msgid "Receiving packet failed: %s"
+msgstr "Ontvangst pakket mislukt: %s"
 
-#: src/net.c:503
+#: src/net_packet.c:420
 #, c-format
-msgid "Creating socket for %s port %d failed: %m"
-msgstr "Aanmaken socket voor %s poort %d mislukt: %m"
+msgid "Received UDP packet from unknown source %s"
+msgstr "Ontvangst UDP pakket van onbekende oorsprong %s"
 
-#: src/net.c:514
+#: src/net_setup.c:102
 #, c-format
-msgid "%s port %hd: %m"
-msgstr "%s poort %hd: %m"
+msgid "Error reading RSA public key file `%s': %s"
+msgstr "Fout tijdens lezen RSA publieke sleutel bestand `%s': %s"
 
-#: src/net.c:521
+#: src/net_setup.c:112
 #, c-format
-msgid "fcntl for %s port %d: %m"
-msgstr "fcntl voor %s poort %d: %m"
+msgid "Reading RSA public key file `%s' failed: %s"
+msgstr "Lezen RSA publieke sleutel bestand `%s' mislukt: %s"
 
-#: src/net.c:527
+#: src/net_setup.c:140
 #, c-format
-msgid "Connected to %s port %hd"
-msgstr "Verbonden met %s poort %hd"
+msgid "No public key for %s specified!"
+msgstr "Geen publieke sleutel bekend voor %s gespecificeerd!"
 
-#: src/net.c:547
+#: src/net_setup.c:166
 #, c-format
-msgid "Error looking up `%s': %m"
-msgstr "Fout bij het opzoeken van `%s': %m"
+msgid "Error reading RSA private key file `%s': %s"
+msgstr "Fout tijdens lezen RSA privé sleutel bestand `%s': %s"
 
-#: src/net.c:557
+#: src/net_setup.c:176
 #, c-format
-msgid "Could not set up a meta connection to %s"
-msgstr "Kon geen metaverbinding aangaan met %s"
+msgid "Reading RSA private key file `%s' failed: %s"
+msgstr "Fout tijdens lezen RSA privé sleutel bestand `%s': %s"
+
+#: src/net_setup.c:202 src/net_setup.c:203
+msgid "MYSELF"
+msgstr "MIJZELF"
 
-#: src/net.c:586
+#: src/net_setup.c:210
 msgid "Name for tinc daemon required!"
 msgstr "Naam voor tinc daemon verplicht!"
 
-#: src/net.c:594
+#: src/net_setup.c:216
 msgid "Invalid name for myself!"
-msgstr "Ongelige naam voor mijzelf!"
+msgstr "Ongeldige naam voor mijzelf!"
 
-#: src/net.c:600
+#: src/net_setup.c:230
 msgid "Cannot open host configuration file for myself!"
 msgstr "Kan host configuratie bestand voor mijzelf niet openen!"
 
-#: src/net.c:619
-msgid "Unable to set up a listening socket!"
-msgstr "Kon geen luistersocket aanmaken!"
+#: src/net_setup.c:287
+msgid "Invalid routing mode!"
+msgstr "Ongeldige routing modus!"
 
-#: src/net.c:625
-msgid "Unable to set up an incoming vpn data socket!"
-msgstr "Kon geen socket maken voor inkomend vpn verkeer!"
+#: src/net_setup.c:298
+msgid "PriorityInheritance not supported on this platform"
+msgstr "PriorityInheritance wordt niet ondersteund op dit platform"
 
-#: src/net.c:632
-#, c-format
-msgid "Ready: listening on port %hd"
-msgstr "Gereed: luisterend op poort %hd"
+#: src/net_setup.c:308
+msgid "Bogus maximum timeout!"
+msgstr "Onzinnige maximum timeout!"
 
-#: src/net.c:660
-#, c-format
-msgid "Still failed to connect to other, will retry in %d seconds"
-msgstr "Wederom niet verbonden met de ander, nieuwe poging over %d seconden"
+#: src/net_setup.c:325
+msgid "Invalid address family!"
+msgstr "Ongeldige adresfamilie!"
 
-#: src/net.c:698
-#, c-format
-msgid "Trying to re-establish outgoing connection in %d seconds"
-msgstr "Poging tot herstellen van uitgaande verbinding over %d seconden"
+#: src/net_setup.c:347
+msgid "Unrecognized cipher type!"
+msgstr "Onbekend cipher type!"
 
-#: src/net.c:736
-msgid "Terminating"
-msgstr "Beëindigen"
+#: src/net_setup.c:382
+msgid "Unrecognized digest type!"
+msgstr "Onbekend digest type!"
 
-#: src/net.c:750
-#, c-format
-msgid "Opening UDP socket to %s"
-msgstr "Bezig met openen UDP socket naar %s"
+#: src/net_setup.c:398
+msgid "MAC length exceeds size of digest!"
+msgstr "MAC lengte is groter dan dat van digest!"
 
-#: src/net.c:755
-#, c-format
-msgid "Creating UDP socket failed: %m"
-msgstr "Aanmaak UDP socket mislukte: %m"
+#: src/net_setup.c:403
+msgid "Bogus MAC length!"
+msgstr "Onzinnige MAC lengte!"
 
-#: src/net.c:765
-#, c-format
-msgid "Connecting to %s port %d failed: %m"
-msgstr "Verbinding naar %s poort %d mislukt: %m"
+#: src/net_setup.c:419
+msgid "Bogus compression level!"
+msgstr "Onzinnig compressieniveau!"
 
-#: src/net.c:798
+#: src/net_setup.c:465
 #, c-format
-msgid "Error: getpeername: %m"
-msgstr "Fout: getpeername: %m"
+msgid "Listening on %s"
+msgstr "Luisterend op %s"
 
-#: src/net.c:813
-#, c-format
-msgid "Connection from %s port %d"
-msgstr "Verbinding van %s poort %d"
+#: src/net_setup.c:476
+msgid "Ready"
+msgstr "Gereed"
 
-#: src/net.c:861
+#: src/net_setup.c:479
+msgid "Unable to create any listening socket!"
+msgstr "Kon geen enkele luistersocket aanmaken!"
+
+#: src/net_socket.c:90
 #, c-format
-msgid "This is a bug: %s:%d: %d:%m"
-msgstr "Dit is een programmeerfout: %s:%d: %d:%m"
+msgid "Creating metasocket failed: %s"
+msgstr "Aanmaak van metasocket mislukt: %s"
 
-#: src/net.c:867
+#: src/net_socket.c:124 src/net_socket.c:186
 #, c-format
-msgid "Incoming data socket error: %s"
-msgstr "Fout op socket voor inkomend verkeer: %s"
+msgid "Can't bind to interface %s: %s"
+msgstr "Kan niet aan interface %s binden: %s"
 
-#: src/net.c:873
+#: src/net_socket.c:128
+msgid "BindToDevice not supported on this platform"
+msgstr "BindToDevice wordt niet ondersteund op dit platform"
+
+#: src/net_socket.c:136
 #, c-format
-msgid "Receiving packet failed: %m"
-msgstr "Ontvangst pakket mislukt: %m"
+msgid "Can't bind to %s/tcp: %s"
+msgstr "Kan niet aan %s/tcp binden: %s"
 
-#: src/net.c:894
+#: src/net_socket.c:163
 #, c-format
-msgid "Closing connection with %s (%s)"
-msgstr "Beëindigen verbinding met %s (%s)"
+msgid "Creating UDP socket failed: %s"
+msgstr "Aanmaak UDP socket mislukte: %s"
 
-#: src/net.c:937
-msgid "Trying to re-establish outgoing connection in 5 seconds"
-msgstr "Poging tot herstellen van uitgaande verbinding over 5 seconden"
+#: src/net_socket.c:196
+#, c-format
+msgid "Can't bind to %s/udp: %s"
+msgstr "Kan niet aan %s/udp binden: %s"
 
-#: src/net.c:967
+#: src/net_socket.c:219
 #, c-format
-msgid "%s (%s) didn't respond to PING"
-msgstr "%s (%s) antwoordde niet op ping"
+msgid "Trying to re-establish outgoing connection in %d seconds"
+msgstr "Poging tot herstellen van uitgaande verbinding over %d seconden"
 
-#: src/net.c:998
+#: src/net_socket.c:228 src/net_socket.c:322
 #, c-format
-msgid "Accepting a new connection failed: %m"
-msgstr "Aanname van nieuwe verbinding is mislukt: %m"
+msgid "Trying to connect to %s (%s)"
+msgstr "Poging tot verbinden met %s (%s)"
 
-#: src/net.c:1006
-msgid "Closed attempted connection"
-msgstr "Aangenomen verbinding verbroken"
+#: src/net_socket.c:234 src/net_socket.c:329
+#, c-format
+msgid "Creating socket for %s failed: %s"
+msgstr "Aanmaken socket voor %s mislukt: %s"
 
-#: src/net.c:1041
+#: src/net_socket.c:258 src/net_socket.c:268
 #, c-format
-msgid "Outgoing data socket error for %s (%s): %s"
-msgstr "Fout op socket voor uitgaand verkeer voor %s (%s): %s"
+msgid "Connected to %s (%s)"
+msgstr "Verbonden met %s (%s)"
 
-#: src/net.c:1077
+#: src/net_socket.c:287
 #, c-format
-msgid "Error while reading from tapdevice: %m"
-msgstr "Fout tijdens lezen van tap-apparaatbestand tijdens lezen: %m"
+msgid "Could not set up a meta connection to %s"
+msgstr "Kon geen metaverbinding aangaan met %s"
 
-#: src/net.c:1087
+#: src/net_socket.c:350
 #, c-format
-msgid "Non-IP ethernet frame %04x from %02x:%02x:%02x:%02x:%02x:%02x"
-msgstr "Niet-IP ethernet pakket %04x van %02x:%02x:%02x:%02x:%02x:%02x"
+msgid "fcntl for %s: %s"
+msgstr "fcntl voor %s: %s"
 
-#: src/net.c:1094
+#: src/net_socket.c:368
 #, c-format
-msgid "Dropping short packet from %02x:%02x:%02x:%02x:%02x:%02x"
-msgstr "Te kort pakket van %02x:%02x:%02x:%02x:%02x:%02x genegeerd"
+msgid "%s: %s"
+msgstr "%s: %s"
 
-#: src/net.c:1133
+#: src/net_socket.c:389
 #, c-format
-msgid "Error while waiting for input: %m"
-msgstr "Fout tijdens wachten op invoer: %m"
+msgid "Already connected to %s"
+msgstr "Reeds verbonden met %s"
 
-#: src/netutl.c:115
+#: src/net_socket.c:408
 #, c-format
-msgid "Error looking up `%s': %s\n"
-msgstr "Fout bij het opzoeken van `%s': %s\n"
+msgid "No address specified for %s"
+msgstr "Geen adres gespecificeerd voor %s"
 
-#: src/protocol.c:80
+#: src/net_socket.c:435
 #, c-format
-msgid "Output buffer overflow while sending %s to %s (%s)"
-msgstr "Uitvoer buffer overvol tijdens zenden %s naar %s (%s)"
+msgid "Accepting a new connection failed: %s"
+msgstr "Aanname van nieuwe verbinding is mislukt: %s"
 
-#: src/protocol.c:87
+#: src/net_socket.c:453
 #, c-format
-msgid "Sending %s to %s (%s)"
-msgstr "Verzending %s naar %s (%s)"
+msgid "Connection from %s"
+msgstr "Verbinding van %s"
 
-#: src/protocol.c:101
+#: src/net_socket.c:475
 #, c-format
-msgid "Unknown request from %s (%s)"
-msgstr "Onbekend verzoek van %s (%s)"
+msgid "Invalid name for outgoing connection in %s line %d"
+msgstr "Ongeldige naam voor uitgaande verbinding in %s regel %d"
 
-#: src/protocol.c:108
+#: src/netutl.c:65 src/netutl.c:88
 #, c-format
-msgid "Got %s from %s (%s)"
-msgstr "Kreeg %s van %s (%s)"
+msgid "Error looking up %s port %s: %s\n"
+msgstr "Fout bij het opzoeken van %s poort %s: %s\n"
 
-#: src/protocol.c:114
+#: src/netutl.c:109
 #, c-format
-msgid "Error while processing %s from %s (%s)"
-msgstr "Fout tijdens afhandelen %s van %s (%s)"
+msgid "Error while translating addresses: %s"
+msgstr "Fout tijdens vertalen adressen: %s"
 
-#: src/protocol.c:121
+#: src/netutl.c:134
 #, c-format
-msgid "Bogus data received from %s (%s)"
-msgstr "Onzinnige data ontvangen van %s (%s)"
+msgid "Error while looking up hostname: %s"
+msgstr "Fout bij het opzoeken van hostnaam: %s"
 
-#: src/protocol.c:167
+#: src/netutl.c:137
 #, c-format
-msgid "Got bad ID from %s"
-msgstr "Kreeg ongeldige ID van %s"
+msgid "%s port %s"
+msgstr "%s poort %s"
 
-#: src/protocol.c:175
+#: src/netutl.c:166
 #, c-format
-msgid "Peer %s (%s) uses incompatible version %d"
-msgstr "Ander %s (%s) gebruikt een niet-compatibel protocol versie %d"
+msgid "sockaddrcmp() was called with unknown address family %d, exitting!"
+msgstr ""
+"sockaddrcmp() werd aangeroepen met onbekende adresfamilie %d, beëindigen!"
 
-#: src/protocol.c:184
+#: src/protocol.c:77
 #, c-format
-msgid "Peer %s uses invalid identity name"
-msgstr "Ander %s gebruikt een ongeldige identiteitsnaam"
+msgid "Output buffer overflow while sending request to %s (%s)"
+msgstr "Uitvoer buffer overvol tijdens zenden verzoek naar %s (%s)"
 
-#: src/protocol.c:192
+#: src/protocol.c:85
 #, c-format
-msgid "Peer %s had unknown identity (%s)"
-msgstr "Ander %s heeft een onbekende identiteit (%s)"
+msgid "Sending %s to %s (%s): %s"
+msgstr "Verzending %s naar %s (%s): %s"
 
-#: src/protocol.c:207
+#: src/protocol.c:87
 #, c-format
-msgid "Uplink %s (%s) is already in our connection list"
-msgstr "%s (%s) staat al in onze verbindingslijst"
+msgid "Sending %s to %s (%s)"
+msgstr "Verzending %s naar %s (%s)"
 
-#: src/protocol.c:253
+#: src/protocol.c:104
 #, c-format
-msgid "Got bad CHALLENGE from %s (%s)"
-msgstr "Kreeg ongeldige CHALLENGE van %s (%s)"
+msgid "Unknown request from %s (%s): %s"
+msgstr "Onbekend verzoek van %s (%s): %s"
 
-#: src/protocol.c:261
+#: src/protocol.c:107
 #, c-format
-msgid "Intruder: wrong challenge length from %s (%s)"
-msgstr "Indringer: verkeerde lengte voor uitdaging van %s (%s)"
+msgid "Unknown request from %s (%s)"
+msgstr "Onbekend verzoek van %s (%s)"
 
-#: src/protocol.c:287
+#: src/protocol.c:117
 #, c-format
-msgid "Trying to send CHAL_REPLY to %s (%s) without a valid CHALLENGE"
-msgstr "Poging tot zenden CHAL_REPLY naar %s (%s) zonder een geldige CHALLENGE"
+msgid "Got %s from %s (%s): %s"
+msgstr "Kreeg %s van %s (%s): %s"
 
-#: src/protocol.c:318
+#: src/protocol.c:120
 #, c-format
-msgid "Got bad CHAL_REPLY from %s (%s)"
-msgstr "Kreeg ongeldige CHAL_REPLY van %s (%s)"
+msgid "Got %s from %s (%s)"
+msgstr "Kreeg %s van %s (%s)"
 
-#: src/protocol.c:327
+#: src/protocol.c:127
 #, c-format
-msgid "Intruder: wrong challenge reply length from %s (%s)"
-msgstr "Indringer: verkeerde lengte van antwoord op uitdaging van %s (%s)"
+msgid "Unauthorized request from %s (%s)"
+msgstr "Niet toegestaan verzoek van %s (%s)"
 
-#: src/protocol.c:344
+#: src/protocol.c:134
 #, c-format
-msgid "Intruder: wrong challenge reply from %s (%s)"
-msgstr "Indringer: verkeerd antwoord op de uitdaging van %s (%s)"
+msgid "Error while processing %s from %s (%s)"
+msgstr "Fout tijdens afhandelen %s van %s (%s)"
 
-#: src/protocol.c:386
+#: src/protocol.c:141
 #, c-format
-msgid "Removing old entry for %s at %s in favour of new connection from %s"
-msgstr ""
-"Verwijdering oude verbinding voor %s op %s in voordeel van nieuwe verbinding "
-"van %s"
+msgid "Bogus data received from %s (%s)"
+msgstr "Onzinnige data ontvangen van %s (%s)"
 
-#: src/protocol.c:398
+#: src/protocol.c:187
+msgid "Already seen request"
+msgstr "Verzoek reeds gezien"
+
+#: src/protocol.c:218
 #, c-format
-msgid "Connection with %s (%s) activated"
-msgstr "Verbinding met %s (%s) geactiveerd"
+msgid "Aging past requests: deleted %d, left %d\n"
+msgstr "Veroudering vorige verzoeken: %d gewist, %d overgebleven\n"
 
-#: src/protocol.c:438
+#: src/protocol_auth.c:69 src/protocol_auth.c:224 src/protocol_auth.c:357
+#: src/protocol_auth.c:417 src/protocol_auth.c:529 src/protocol_edge.c:90
+#: src/protocol_edge.c:219 src/protocol_key.c:80 src/protocol_key.c:128
+#: src/protocol_key.c:196 src/protocol_misc.c:61 src/protocol_misc.c:91
+#: src/protocol_misc.c:177 src/protocol_subnet.c:71 src/protocol_subnet.c:163
 #, c-format
-msgid "Got bad ADD_SUBNET from %s (%s)"
-msgstr "Kreeg ongeldige ADD_SUBNET van %s (%s)"
+msgid "Got bad %s from %s (%s)"
+msgstr "Kreeg verkeerde %s van %s (%s)"
 
-#: src/protocol.c:447
+#: src/protocol_auth.c:77 src/protocol_edge.c:98 src/protocol_edge.c:104
+#: src/protocol_edge.c:228 src/protocol_edge.c:234 src/protocol_subnet.c:79
+#: src/protocol_subnet.c:87 src/protocol_subnet.c:171
+#: src/protocol_subnet.c:189
 #, c-format
-msgid "Got bad ADD_SUBNET from %s (%s): invalid identity name"
-msgstr "Kreeg ongeldige ADD_SUBNET van %s (%s): ongeldige identiteitsnaam"
+msgid "Got bad %s from %s (%s): %s"
+msgstr "Kreeg verkeerde %s van %s (%s): %s"
 
-#: src/protocol.c:456
+#: src/protocol_auth.c:87
 #, c-format
-msgid "Got bad ADD_SUBNET from %s (%s): invalid subnet string"
-msgstr "Kreeg ongeldige ADD_SUBNET van %s (%s): ongeldig subnet"
+msgid "Peer %s is %s instead of %s"
+msgstr "Ander %s is %s in plaats van %s"
 
-#: src/protocol.c:467
+#: src/protocol_auth.c:98
 #, c-format
-msgid "Warning: got ADD_SUBNET from %s (%s) for ourself, restarting"
-msgstr "Waarschuwing: kreeg ADD_SUBNET van %s (%s) voor onszelf, herstart"
+msgid "Peer %s (%s) uses incompatible version %d"
+msgstr "Ander %s (%s) gebruikt incompatibele versie %d"
 
-#: src/protocol.c:478
+#: src/protocol_auth.c:117
 #, c-format
-msgid "Got ADD_SUBNET for %s from %s (%s) which is not in our connection list"
-msgstr ""
-"Kreeg DEL_SUBNET voor %d.%d.%d.%d van %s (%s) die niet voorkomt in onze "
-"verbindingslijst"
+msgid "Peer %s had unknown identity (%s)"
+msgstr "Ander %s heeft onbekende identiteit (%s)"
 
-#: src/protocol.c:506
+#: src/protocol_auth.c:175
 #, c-format
-msgid "Got bad DEL_SUBNET from %s (%s)"
-msgstr "Kreeg ongeldige DEL_SUBNET van %s (%s)"
+msgid "Generated random meta key (unencrypted): %s"
+msgstr "Willekeurige meta sleutel aangemaakt (niet versleuteld): %s"
 
-#: src/protocol.c:515
+#: src/protocol_auth.c:187 src/protocol_auth.c:254
 #, c-format
-msgid "Got bad DEL_SUBNET from %s (%s): invalid identity name"
-msgstr "Kreeg ongeldige DEL_SUBNET van %s (%s): ongeldige identiteitsnaam"
+msgid "Error during encryption of meta key for %s (%s)"
+msgstr "Fout tijdens versleutelen van meta key voor %s (%s)"
 
-#: src/protocol.c:524
+#: src/protocol_auth.c:234 src/protocol_auth.c:367 src/protocol_auth.c:425
+#: src/protocol_auth.c:443
 #, c-format
-msgid "Got bad DEL_SUBNET from %s (%s): invalid subnet string"
-msgstr "Kreeg ongeldige DEL_SUBNET van %s (%s): ongeldige identiteitsnaam"
+msgid "Possible intruder %s (%s): %s"
+msgstr "Mogelijke indringer %s (%s): %s"
 
-#: src/protocol.c:535
+#: src/protocol_auth.c:262
 #, c-format
-msgid "Warning: got DEL_SUBNET from %s (%s) for ourself, restarting"
-msgstr "Waarschuwing: kreeg DEL_SUBNET van %s (%s) voor onszelf, herstart"
+msgid "Received random meta key (unencrypted): %s"
+msgstr "Ontving willekeurige meta key (niet versleuteld): %s"
 
-#: src/protocol.c:546
+#: src/protocol_auth.c:274
 #, c-format
-msgid "Got DEL_SUBNET for %s from %s (%s) which is not in our connection list"
-msgstr ""
-"Kreeg DEL_SUBNET voor %d.%d.%d.%d van %s (%s) die niet voorkomt in onze "
-"verbindingslijst"
+msgid "%s (%s) uses unknown cipher!"
+msgstr "%s (%s) gebruikt onbekende cipher!"
 
-#: src/protocol.c:577
+#: src/protocol_auth.c:296 src/protocol_key.c:267
 #, c-format
-msgid "Got bad ADD_HOST from %s (%s)"
-msgstr "Kreeg ongeldige ADD_HOST van %s (%s)"
+msgid "Node %s (%s) uses unknown digest!"
+msgstr "Node %s (%s) gebruikt onbekende digest!"
 
-#: src/protocol.c:585
+#: src/protocol_auth.c:302
 #, c-format
-msgid "Got bad ADD_HOST from %s (%s): invalid identity name"
-msgstr "Kreeg ongeldige ADD_HOST van %s (%s): ongeldige identiteitsnaam"
+msgid "%s (%s) uses bogus MAC length!"
+msgstr "%s (%s) gebruikt onzinnige MAC lengte!"
+
+#: src/protocol_auth.c:425
+msgid "wrong challenge reply length"
+msgstr "verkeerde lengte antwoord op uitdaging"
+
+#: src/protocol_auth.c:443
+msgid "wrong challenge reply"
+msgstr "verkeerd antwoord op uitdaging"
 
-#: src/protocol.c:594
+#: src/protocol_auth.c:448
 #, c-format
-msgid "Warning: got ADD_HOST from %s (%s) for ourself, restarting"
-msgstr "Waarschuwing: kreeg ADD_HOST van %s (%s) voor onszelf, herstart"
+msgid "Expected challenge reply: %s"
+msgstr "Verwachtte antwoord op uitdaging: %s"
 
-#: src/protocol.c:604
+#: src/protocol_auth.c:549
 #, c-format
-msgid "Warning: got ADD_HOST from %s (%s) from ourself, restarting"
-msgstr "Waarschuwing: kreeg ADD_HOST van %s (%s) van onszelf, herstart"
+msgid "Established a second connection with %s (%s), closing old connection"
+msgstr "Tweede verbinding met %s (%s) gemaakt, oude verbinding wordt gesloten"
 
-#: src/protocol.c:614
+#: src/protocol_auth.c:583
 #, c-format
-msgid ""
-"Got ADD_HOST from %s (%s) with origin %s which is not in our connection list"
-msgstr ""
-"Kreeg ADD_HOST van %s (%s) met herkomst %s die niet in onze verbindingslijst "
-"voorkomt"
+msgid "Connection with %s (%s) activated"
+msgstr "Verbinding met %s (%s) geactiveerd"
+
+#: src/protocol_edge.c:98 src/protocol_edge.c:104 src/protocol_edge.c:228
+#: src/protocol_edge.c:234 src/protocol_subnet.c:79 src/protocol_subnet.c:171
+msgid "invalid name"
+msgstr "ongeldige naam"
 
-#: src/protocol.c:633
+#: src/protocol_edge.c:150
 #, c-format
-msgid "Got duplicate ADD_HOST for %s (%s) from %s (%s)"
-msgstr "Kreeg een tweede ADD_HOST voor %s (%s) van %s (%s)"
+msgid "Got %s from %s (%s) for ourself which does not match existing entry"
+msgstr ""
+"Kreeg %s van %s (%s) voor onszelf welke niet overeenkomt met reeds bekende"
 
-#: src/protocol.c:640
+#: src/protocol_edge.c:157
 #, c-format
-msgid "Removing old entry for %s (%s)"
-msgstr "Verwijdering oude verbinding voor %s (%s)"
+msgid "Got %s from %s (%s) which does not match existing entry"
+msgstr "Kreeg %s van %s (%s) welke niet overeenkomt met reeds bekende"
 
-#: src/protocol.c:683
+#: src/protocol_edge.c:167
 #, c-format
-msgid "Got bad DEL_HOST from %s (%s)"
-msgstr "Kreeg ongeldige DEL_HOST van %s (%s)"
+msgid "Got %s from %s (%s) for ourself which does not exist"
+msgstr "Kreeg %s van %s (%s) voor onszelf welke niet bestaat"
 
-#: src/protocol.c:692
+#: src/protocol_edge.c:248 src/protocol_edge.c:257 src/protocol_edge.c:268
 #, c-format
-msgid "Got bad DEL_HOST from %s (%s): invalid identity name"
-msgstr "Kreeg ongeldige DEL_HOST van %s (%s): ongeldige identiteitsnaam"
+msgid "Got %s from %s (%s) which does not appear in the edge tree"
+msgstr "Kreeg %s van %s (%s) welke niet voorkomt in de edge tree"
 
-#: src/protocol.c:701
+#: src/protocol_edge.c:275 src/protocol_subnet.c:118 src/protocol_subnet.c:217
 #, c-format
-msgid "Warning: got DEL_HOST from %s (%s) for ourself, restarting"
-msgstr "Waarschuwing: kreeg DEL_HOST van %s (%s) voor onszelf, herstart"
+msgid "Got %s from %s (%s) for ourself"
+msgstr "Kreeg %s van %s (%s) voor onszelf"
 
-#: src/protocol.c:712
+#: src/protocol_key.c:92
 #, c-format
-msgid "Warning: got DEL_HOST from %s (%s) from ourself, restarting"
-msgstr "Waarschuwing: kreeg DEL_HOST van %s (%s) van onszelf, herstart"
+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.c:722
+#: src/protocol_key.c:137 src/protocol_key.c:205
 #, c-format
 msgid ""
-"Got DEL_HOST from %s (%s) with origin %s which is not in our connection list"
+"Got %s from %s (%s) origin %s which does not exist in our connection list"
 msgstr ""
-"Kreeg DEL_HOST voor %s (%s) met herkomst %s die niet in onze "
-"verbindingslijst voorkomt"
+"Kreeg %s van %s (%s) herkomst %s welke niet voorkomt in de verbindingslijst"
 
-#: src/protocol.c:734
+#: src/protocol_key.c:146 src/protocol_key.c:214
 #, c-format
-msgid "Got DEL_HOST from %s (%s) for %s which is not in our connection list"
+msgid ""
+"Got %s from %s (%s) destination %s which does not exist in our connection "
+"list"
 msgstr ""
-"Kreeg DEL_HOST van %s (%s) voor %s die niet in onze verbindingslijst voorkomt"
+"Kreeg %s van %s (%s) doel %s welke niet voorkomt in de verbindingslijst"
 
-#: src/protocol.c:744
+#: src/protocol_key.c:246
 #, c-format
-msgid "Got DEL_HOST from %s (%s) for %s which doesn't match"
-msgstr "Kreeg DEL_HOST van %s (%s) voor %s wat niet overeenkomt"
+msgid "Node %s (%s) uses unknown cipher!"
+msgstr "Node %s (%s) gebruikt onbekende cipher!"
 
-#: src/protocol.c:776
+#: src/protocol_key.c:251
 #, c-format
-msgid "Got bad STATUS from %s (%s)"
-msgstr "Kreeg ongeldige STATUS van %s (%s)"
+msgid "Node %s (%s) uses wrong keylength!"
+msgstr "Node %s (%s) gebruikt verkeerde lengte sleutel!"
 
-#: src/protocol.c:783
+#: src/protocol_key.c:272
 #, c-format
-msgid "Status message from %s (%s): %s: %s"
-msgstr "Ontving statusbericht van %s (%s): %s: %s"
+msgid "Node %s (%s) uses bogus MAC length!"
+msgstr "Node %s (%s) gebruikt onzinnige MAC lengte!"
 
-#: src/protocol.c:807
+#: src/protocol_misc.c:68
 #, c-format
-msgid "Got bad ERROR from %s (%s)"
-msgstr "Kreeg ongeldige ERROR van %s (%s)"
+msgid "Status message from %s (%s): %s: %s"
+msgstr "Statusmelding van %s (%s): %s: %s"
 
-#: src/protocol.c:814
+#: src/protocol_misc.c:98
 #, c-format
 msgid "Error message from %s (%s): %s: %s"
-msgstr "Ontving foutmelding van %s (%s): %s: %s"
+msgstr "Foutmelding van %s (%s): %s: %s"
 
-#: src/protocol.c:892
-#, c-format
-msgid "Got bad KEY_CHANGED from %s (%s)"
-msgstr "Kreeg ongeldige KEY_CHANGED van %s (%s)"
+#: src/protocol_subnet.c:87 src/protocol_subnet.c:189
+msgid "invalid subnet string"
+msgstr "ongeldige subnet string"
 
-#: src/protocol.c:899
+#: src/protocol_subnet.c:180
 #, c-format
-msgid ""
-"Got KEY_CHANGED from %s (%s) origin %s which does not exist in our "
-"connection list"
-msgstr ""
-"Kreeg KEY_CHANGED van %s (%s) met herkomst %s die niet in onze "
-"verbindingslijst voorkomt"
+msgid "Got %s from %s (%s) for %s which is not in our node tree"
+msgstr "Kreeg %s van %s (%s) voor %s welke niet voorkomt in de node boom"
 
-#: src/protocol.c:929
+#: src/protocol_subnet.c:207
 #, c-format
-msgid "Got bad REQ_KEY from %s (%s)"
-msgstr "Kreeg ongeldige REQ_KEY van %s (%s)"
+msgid "Got %s from %s (%s) for %s which does not appear in his subnet tree"
+msgstr "Kreeg %s van %s (%s) voor %s welke niet voorkomt in zijn subnet boom"
 
-#: src/protocol.c:936
+#: src/subnet.c:99
 #, c-format
-msgid ""
-"Got REQ_KEY from %s (%s) origin %s which does not exist in our connection "
-"list"
+msgid "subnet_compare() was called with unknown subnet type %d, exitting!"
 msgstr ""
-"Kreeg REQ_KEY van %s (%s) herkomst %s die niet in onze verbindingslijst "
-"voorkomt"
+"subnet_compare() werd aangeroepen met onbekend subnet type %d, beëindigen!"
 
-#: src/protocol.c:952
+#: src/subnet.c:274
 #, c-format
-msgid ""
-"Got REQ_KEY from %s (%s) destination %s which does not exist in our "
-"connection list"
-msgstr ""
-"Kreeg REQ_KEY van %s (%s) doel %s die niet in onze verbindingslijst voorkomt"
+msgid "net2str() was called with unknown subnet type %d, exitting!"
+msgstr "net2str() werd aangeroepen met onbekend subnet type %d, beëindigen!"
 
-#: src/protocol.c:980
-#, c-format
-msgid "Got bad ANS_KEY from %s (%s)"
-msgstr "Kreeg ongeldige ANS_KEY van %s (%s)"
+#: src/subnet.c:384
+msgid "Subnet list:"
+msgstr "Subnet lijst:"
 
-#: src/protocol.c:987
+#: src/subnet.c:389
 #, c-format
-msgid ""
-"Got ANS_KEY from %s (%s) origin %s which does not exist in our connection "
-"list"
-msgstr ""
-"Kreeg ANS_KEY van %s (%s) met herkomst %s die niet in onze verbindingslijst "
-"voorkomt"
+msgid " %s owner %s"
+msgstr " %s eigenaar %s"
 
-#: src/protocol.c:1003
-#, c-format
-msgid "Got bad ANS_KEY from %s (%s) origin %s: invalid key"
-msgstr "Kreeg ongeldige ANS_KEY van %s (%s) herkomst %s: ongeldige sleutel"
-
-#: src/protocol.c:1016
-#, c-format
-msgid ""
-"Got ANS_KEY from %s (%s) destination %s which does not exist in our "
-"connection list"
-msgstr ""
-"Kreeg ANS_KEY van %s (%s) doel %s die niet in onze verbindingslijst voorkomt"
+#: src/subnet.c:392
+msgid "End of subnet list."
+msgstr "Einde van subnet lijst."
 
-#: src/tincd.c:94
+#: src/tincd.c:100
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Probeer `%s --help' voor meer informatie.\n"
 
-#: src/tincd.c:97
+#: src/tincd.c:103
 #, c-format
 msgid ""
 "Usage: %s [option]...\n"
@@ -711,109 +803,105 @@ msgstr ""
 "Gebruik: %s [optie]...\n"
 "\n"
 
-#: src/tincd.c:98
+#: src/tincd.c:104
 msgid ""
-"  -c, --config=DIR      Read configuration options from DIR.\n"
-"  -D, --no-detach       Don't fork and detach.\n"
-"  -d                    Increase debug level.\n"
-"  -k, --kill            Attempt to kill a running tincd and exit.\n"
-"  -n, --net=NETNAME     Connect to net NETNAME.\n"
-"  -t, --timeout=TIMEOUT Seconds to wait before giving a timeout.\n"
+"  -c, --config=DIR           Read configuration options from DIR.\n"
+"  -D, --no-detach            Don't fork and detach.\n"
+"  -d, --debug[=LEVEL]        Increase debug level or set it to LEVEL.\n"
+"  -k, --kill[=SIGNAL]        Attempt to kill a running tincd and exit.\n"
+"  -n, --net=NETNAME          Connect to net NETNAME.\n"
 msgstr ""
-"  -c, --config=MAP      Lees configuratie uit MAP.\n"
-"  -D, --no-detach       Start geen nieuw proces.\n"
-"  -d                    Verhoog debugniveau.\n"
-"  -k, --kill            Poging tot doden van lopende tincd en beëindig.\n"
-"  -n, --net=NETNAAM     Verbind met net NETNAAM.\n"
-"  -t, --timeout=TIMEOUT Seconden wachten op timeout.\n"
-
-#: src/tincd.c:104
+"  -c, --config=MAP           Lees configuratie uit MAP.\n"
+"  -D, --no-detach            Start geen nieuw proces.\n"
+"  -d, --debug[=NIVEAU]       Verhoog debugniveau of stel het in op NIVEAU.\n"
+"  -k, --kill[=SIGNAAL]       Poging tot zenden signaal naar lopende tincd en "
+"beëindig.\n"
+"  -n, --net=NETNAAM          Verbind met net NETNAAM.\n"
+
+#: src/tincd.c:109
 msgid ""
-"      --help            Display this help and exit.\n"
-"      --version         Output version information and exit.\n"
+"  -K, --generate-keys[=BITS] Generate public/private RSA keypair.\n"
+"      --help                 Display this help and exit.\n"
+"      --version              Output version information and exit.\n"
 "\n"
 msgstr ""
-"      --help            Geef deze hulp en beëindig.\n"
-"      --version         Geef versie informatie en beëindig.\n"
+"  -K, --generate-keys[=BITS] Genereer publiek/privé RSA sleutelpaar.\n"
+"      --help                 Geef deze hulp en beëindig.\n"
+"      --version              Geef versie informatie en beëindig.\n"
 "\n"
 
-#: src/tincd.c:106
+#: src/tincd.c:112
 msgid "Report bugs to tinc@nl.linux.org.\n"
 msgstr ""
 "Meld fouten in het programma aan tinc@nl.linux.org;\n"
 "Meld fouten in de vertaling aan vertaling@nl.linux.org.\n"
 
-#: src/tincd.c:144
+#: src/tincd.c:166
 #, c-format
-msgid "Invalid timeout value `%s'.\n"
-msgstr "Ongeldige timeout waarde `%s'.\n"
-
-#: src/tincd.c:158
-#, c-format
-msgid "Memory exhausted (last is %s:%d) (couldn't allocate %d bytes), exiting."
+msgid ""
+"Invalid argument `%s'; SIGNAL must be a number or one of HUP, TERM, KILL, "
+"USR1, USR2, WINCH, INT or ALRM.\n"
 msgstr ""
-"Geheugen is vol (laatste %s:%d) (kon geen %d bytes vrijmaken), beëindigen."
-
-#: src/tincd.c:213
-#, c-format
-msgid "tincd %s (%s %s) starting, debug level %d"
-msgstr "tincd %s (%s %s) gestart, debugniveau %d"
+"Ongeldig argument `%s'; SIGNAAL moet een getal zijn of één van HUP, TERM, "
+"KILL, USR1, USR2, WINCH, INT of ALRM.\n"
 
-#: src/tincd.c:216
+#: src/tincd.c:184
 #, c-format
-msgid "tincd %s starting"
-msgstr "tincd %s gestart"
-
-#: src/tincd.c:231
-#, c-format
-msgid "Total bytes written: tap %d, socket %d; bytes read: tap %d, socket %d"
+msgid ""
+"Invalid argument `%s'; BITS must be a number equal to or greater than 512.\n"
 msgstr ""
-"Totaal aantal bytes geschreven: tap %d, socket %d; bytes gelezen: top %d, "
-"socket %d."
+"Ongeldig argument `%s'; BITS moet een nummer zijn gelijk aan of groter dan "
+"512.\n"
 
-#: src/tincd.c:249
+#: src/tincd.c:245
 #, c-format
-msgid "A tincd is already running for net `%s' with pid %d.\n"
-msgstr "Een tincd voor net `%s' draait al met procesnummer %d.\n"
+msgid "Generating %d bits keys:\n"
+msgstr "Bezig met genereren van een %d bits sleutel:\n"
 
-#: src/tincd.c:252
-#, c-format
-msgid "A tincd is already running with pid %d.\n"
-msgstr "Een tincd draait al met procesnummer %d.\n"
+#: src/tincd.c:250
+msgid "Error during key generation!\n"
+msgstr "Fout tijdens genereren sleutel!\n"
 
-#: src/tincd.c:273
-#, c-format
-msgid "No other tincd is running for net `%s'.\n"
-msgstr "Geen andere tincd gevonden voor net `%s'.\n"
+#: src/tincd.c:254
+msgid "Done.\n"
+msgstr "Klaar.\n"
 
-#: src/tincd.c:275
-msgid "No other tincd is running.\n"
-msgstr "Geen andere tincd gevonden.\n"
+#: src/tincd.c:263
+msgid "public RSA key"
+msgstr "openbare RSA sleutel"
 
-#: src/tincd.c:282
-msgid "Removing stale lock file.\n"
-msgstr "Ongebruikt vergrendelingsbestand verwijderd.\n"
+#: src/tincd.c:267 src/tincd.c:278
+msgid ""
+"Appending key to existing contents.\n"
+"Make sure only one key is stored in the file.\n"
+msgstr ""
+"Sleutel wordt toegevoegd aan bestaande inhoud.\n"
+"Let er op dat er slechts één sleutel in het bestand is.\n"
+
+#: src/tincd.c:274
+msgid "private RSA key"
+msgstr "geheime RSA sleutel"
 
-#. Do some intl stuff right now
-#: src/tincd.c:325
-msgid "unknown"
-msgstr "onbekend"
+#: src/tincd.c:299
+msgid "Both netname and configuration directory given, using the latter..."
+msgstr ""
+"Zowel netnaam als configuratiemap zijn gegeven, laatste wordt gebruikt..."
 
-#: src/tincd.c:331
+#: src/tincd.c:328
 #, 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:332
+#: src/tincd.c:329
 msgid ""
-"Copyright (C) 1998,1999,2000 Ivo Timmermans, Guus Sliepen and others.\n"
+"Copyright (C) 1998-2002 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,1999,2000 Ivo Timmermans, Guus Sliepen en anderen.\n"
+"Copyright (C) 1998-2002 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 "
@@ -821,69 +909,380 @@ msgstr ""
 "en je bent welkom om het te distribueren onder bepaalde voorwaarden;\n"
 "zie het bestand COPYING voor details.\n"
 
-#: src/tincd.c:346
-msgid "You must be root to run this program. Sorry.\n"
-msgstr ""
-"Je moet systeembeheerder zijn om dit programma te kunnen draaien. Sorry.\n"
-
-#: src/tincd.c:377
+#: src/tincd.c:386
 msgid "Unrecoverable error"
 msgstr "Onherstelbare fout"
 
-#: src/tincd.c:382
+#: src/tincd.c:391
 #, c-format
 msgid "Restarting in %d seconds!"
 msgstr "Herstart in %d seconden!"
 
-#: src/tincd.c:387 src/tincd.c:433
-msgid "Aieee! Not restarting."
-msgstr "Waaah! Geen herstart."
+#: src/process.c:373 src/tincd.c:396
+msgid "Not restarting."
+msgstr "Geen herstart."
+
+#: src/process.c:69
+#, c-format
+msgid "Memory exhausted (couldn't allocate %d bytes), exitting."
+msgstr "Geheugen uitgeput (kon geen %d bytes reserveren), beëindigen."
+
+#: src/process.c:100
+msgid "Terminating"
+msgstr "Beëindigen"
+
+#: src/process.c:116
+#, c-format
+msgid "A tincd is already running for net `%s' with pid %d.\n"
+msgstr "Een tincd draait al voor net `%s' met pid %d.\n"
+
+#: src/process.c:119
+#, c-format
+msgid "A tincd is already running with pid %d.\n"
+msgstr "Een tincd draait al met pid %d.\n"
+
+#: src/process.c:140
+#, c-format
+msgid "No other tincd is running for net `%s'.\n"
+msgstr "Geen andere tincd draait voor net `%s'.\n"
+
+#: src/process.c:142
+msgid "No other tincd is running.\n"
+msgstr "Geen andere tincd draait.\n"
 
-#: src/tincd.c:397
+#: src/process.c:151
+#, c-format
+msgid "The tincd for net `%s' is no longer running. "
+msgstr "De tincd voor net `%s' draait niet meer. "
+
+#: src/process.c:153
+msgid "The tincd is no longer running. "
+msgstr "De tincd draait niet meer. "
+
+#: src/process.c:155
+msgid "Removing stale lock file.\n"
+msgstr "Verwijdering oud vergrendelingsbestand.\n"
+
+#: src/process.c:183
+#, c-format
+msgid "Couldn't detach from terminal: %s"
+msgstr "Kon niet ontkoppelen van terminal: %s"
+
+#: src/process.c:196
+#, c-format
+msgid "tincd %s (%s %s) starting, debug level %d"
+msgstr "tincd %s (%s %s) start, debug niveau %d"
+
+#: src/process.c:199
+#, c-format
+msgid "tincd %s starting"
+msgstr "tincd %s wordt gestart"
+
+#: src/process.c:280
+#, c-format
+msgid "Executing script %s"
+msgstr "Uitvoeren script %s"
+
+#: src/process.c:290
+#, c-format
+msgid "Process %d (%s) exited with non-zero status %d"
+msgstr "Proces %d (%s) beëindigde met status %d"
+
+#: src/process.c:298
+#, c-format
+msgid "Process %d (%s) was killed by signal %d (%s)"
+msgstr "Proces %d (%s) was gestopt door signaal %d (%s)"
+
+#: src/process.c:304
+#, c-format
+msgid "Process %d (%s) terminated abnormally"
+msgstr "Proces %d (%s) abnormaal beëindigd"
+
+#: src/process.c:329
 msgid "Got TERM signal"
 msgstr "Kreeg TERM signaal"
 
-#: src/tincd.c:405
+#: src/process.c:338
 msgid "Got QUIT signal"
 msgstr "Kreeg QUIT signaal"
 
-#: src/tincd.c:412
-msgid "Got another SEGV signal: not restarting"
-msgstr "Kreeg nog een SEGV signaal: niet herstarten"
+#: src/process.c:345
+#, c-format
+msgid "Got another fatal signal %d (%s): not restarting."
+msgstr "Kreeg nog een fataal signaal %s (%s): geen herstart."
 
-#: src/tincd.c:419
-msgid "Got SEGV signal"
-msgstr "Kreeg SEGV signaal"
+#: src/process.c:354
+#, c-format
+msgid "Got fatal signal %d (%s)"
+msgstr "Kreeg fataal signaal %d (%s)"
 
-#: src/tincd.c:424
+#: src/process.c:359
 msgid "Trying to re-execute in 5 seconds..."
-msgstr "Poging tot herstaren over 5 seconden..."
+msgstr "Poging tot herstarten over 5 seconden..."
 
-#: src/tincd.c:442
-msgid "Got HUP signal, rereading configuration and restarting"
-msgstr "Kreeg HUP signaal, herlezen configuratie en herstarten"
+#: src/process.c:382
+msgid "Got HUP signal"
+msgstr "Kreeg HUP signaal"
 
-#: src/tincd.c:450
-msgid "Got INT signal, exiting"
-msgstr "Kreeg INT signaal, beëindigen"
+#: src/process.c:391
+#, c-format
+msgid "Reverting to old debug level (%d)"
+msgstr "Herstellen van oud debug niveau (%d)"
+
+#: src/process.c:398
+#, c-format
+msgid ""
+"Temporarily setting debug level to 5.  Kill me with SIGINT again to go back "
+"to level %d."
+msgstr ""
+"Tijdelijk instellen debug niveau op 5. Zend nog een SIGINT signaal om niveau "
+"%d te herstellen."
 
-#: src/tincd.c:464
-msgid "Got USR2 signal, forcing new key generation"
-msgstr "Kreeg USR2 signaal, nieuwe sleutels geforceerd"
+#: src/process.c:409
+msgid "Got ALRM signal"
+msgstr "Kreeg ALRM signaal"
 
-#: src/tincd.c:473
+#: src/process.c:438
 #, c-format
 msgid "Got unexpected signal %d (%s)"
 msgstr "Kreeg onverwacht signaal %d (%s)"
 
-#~ msgid "Illegal passphrase in %s; size would be %d"
-#~ msgstr "Ongeldig wachtwoord in %s; grootte zou %d zijn"
+#: src/process.c:447
+#, c-format
+msgid "Ignored signal %d (%s)"
+msgstr "Signaal %d (%s) genegeerd"
 
-#~ msgid "Generating %d bits keys"
-#~ msgstr "%d bits sleutel genereren"
+#: src/process.c:504
+#, c-format
+msgid "Installing signal handler for signal %d (%s) failed: %s\n"
+msgstr "Installeren van signaal afhandelaar voor signaal %d (%s) faalde: %s\n"
 
-#~ msgid "Opening /dev/urandom failed: %m"
-#~ msgstr "Openen van /dev/urandom mislukt: %m"
+#: src/route.c:73
+#, c-format
+msgid "Learned new MAC address %hx:%hx:%hx:%hx:%hx:%hx"
+msgstr "Nieuw MAC adres %hx:%hx:%hx:%hx:%hx:%hx geleerd"
+
+#: src/route.c:107
+#, c-format
+msgid "MAC address %hx:%hx:%hx:%hx:%hx:%hx expired"
+msgstr "MAC adres %hx:%hx:%hx:%hx:%hx:%hx verlopen"
+
+#: src/route.c:152
+#, c-format
+msgid "Cannot route packet: unknown IPv4 destination address %d.%d.%d.%d"
+msgstr "Kan pakket niet routeren: onbekend IPv4 doeladres %d.%d.%d.%d"
+
+#: src/route.c:172
+#, c-format
+msgid ""
+"Cannot route packet: unknown IPv6 destination address %hx:%hx:%hx:%hx:%hx:%"
+"hx:%hx:%hx"
+msgstr ""
+"Kan pakket niet routeren: onbekend IPv6 doeladres %hx:%hx:%hx:%hx:%hx:%hx:%"
+"hx:%hx"
+
+#: src/route.c:233
+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:254
+msgid "Cannot route packet: checksum error for neighbor solicitation request"
+msgstr ""
+"Kan pakket niet routeren: checksum fout voor neighbor solicitation verzoek"
+
+#: src/route.c:266
+#, c-format
+msgid ""
+"Cannot route packet: neighbor solicitation request for unknown address %hx:%"
+"hx:%hx:%hx:%hx:%hx:%hx:%hx"
+msgstr ""
+"Kan pakket niet routeren: neighbor solicitation verzoek voor onbekend adres %"
+"hx:%hx:%hx:%hx:%hx:%hx:%hx:%hx"
+
+#: src/route.c:341
+msgid "Cannot route packet: received unknown type ARP request"
+msgstr "Kan pakket niet routeren: ontvangst van onbekend type ARP verzoek"
+
+#: src/route.c:354
+#, 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:411
+#, c-format
+msgid "Cannot route packet: unknown type %hx"
+msgstr "Kan pakket niet routeren: onbekend type %hx"
+
+#: src/node.c:161
+msgid "Nodes:"
+msgstr "Nodes:"
+
+#: src/node.c:166
+#, c-format
+msgid ""
+" %s at %s cipher %d digest %d maclength %d compression %d options %lx status "
+"%04x nexthop %s via %s"
+msgstr ""
+" %s op %s cipher %d digest %d maclengte %d compressie %d opties %lx status %"
+"04x nexthop %s via %s"
+
+#: src/node.c:171
+msgid "End of nodes."
+msgstr "Einde van nodes."
+
+#: src/edge.c:194
+msgid "Edges:"
+msgstr "Edges:"
+
+#: src/edge.c:201
+#, c-format
+msgid " %s at %s - %s at %s options %lx weight %d"
+msgstr " %s op %s - %s op %s opties %lx gewicht %d"
+
+#: src/edge.c:209
+msgid "End of edges."
+msgstr "Einde van edges."
+
+#: src/graph.c:261
+#, c-format
+msgid "Node %s (%s) became reachable"
+msgstr "Node %s (%s) werd bereikbaar"
+
+#: src/graph.c:273
+#, c-format
+msgid "Node %s (%s) became unreachable"
+msgstr "Node %s (%s) is niet meer bereikbaar"
+
+#: src/freebsd/device.c:70 src/linux/device.c:89 src/netbsd/device.c:74
+#: src/openbsd/device.c:74 src/solaris/device.c:75
+#, c-format
+msgid "Could not open %s: %s"
+msgstr "Kon `%s' niet openen: %s"
+
+#: src/linux/device.c:114 src/linux/device.c:124
+msgid "Linux tun/tap device"
+msgstr "Linux tun/tap apparaat"
+
+#: src/linux/device.c:122
+#, c-format
+msgid "Old ioctl() request was needed for %s"
+msgstr "Oud ioctl() verzoek was nodig voor %s"
+
+#: src/linux/device.c:131
+msgid "Linux ethertap device"
+msgstr "Linux ethertap apparaat"
+
+#: src/freebsd/device.c:87 src/linux/device.c:136 src/netbsd/device.c:90
+#: src/openbsd/device.c:90 src/solaris/device.c:132
+#, c-format
+msgid "%s is a %s"
+msgstr "%s is een %s"
+
+#: src/freebsd/device.c:108 src/linux/device.c:159 src/linux/device.c:169
+#: src/netbsd/device.c:111 src/openbsd/device.c:111 src/solaris/device.c:149
+#, c-format
+msgid "Error while reading from %s %s: %s"
+msgstr "Fout tijdens lezen van %s %s: %s"
+
+#: src/freebsd/device.c:117 src/linux/device.c:180 src/netbsd/device.c:126
+#: src/openbsd/device.c:140 src/solaris/device.c:164
+#, c-format
+msgid "Read packet of %d bytes from %s"
+msgstr "Pakket van %d bytes gelezen van %s"
+
+#: src/freebsd/device.c:128 src/linux/device.c:191 src/netbsd/device.c:139
+#: src/openbsd/device.c:154 src/solaris/device.c:175
+#, c-format
+msgid "Writing packet of %d bytes to %s"
+msgstr "Pakket van %d bytes geschreven naar %s"
+
+#: src/linux/device.c:198 src/linux/device.c:207 src/netbsd/device.c:149
+#: src/openbsd/device.c:180 src/solaris/device.c:180
+#, c-format
+msgid "Can't write to %s %s: %s"
+msgstr "Kan niet schrijven naar %s %s: %s"
+
+#: src/freebsd/device.c:144 src/linux/device.c:220 src/netbsd/device.c:160
+#: src/openbsd/device.c:191 src/solaris/device.c:192
+#, c-format
+msgid "Statistics for %s %s:"
+msgstr "Statistieken voor %s %s:"
+
+#: src/freebsd/device.c:145 src/linux/device.c:221 src/netbsd/device.c:161
+#: src/openbsd/device.c:192 src/solaris/device.c:193
+#, c-format
+msgid " total bytes in:  %10d"
+msgstr " totaal aantal bytes in:  %10d"
+
+#: src/freebsd/device.c:146 src/linux/device.c:222 src/netbsd/device.c:162
+#: src/openbsd/device.c:193 src/solaris/device.c:194
+#, c-format
+msgid " total bytes out: %10d"
+msgstr " totaal aantal bytes uit: %10d"
+
+#: src/freebsd/device.c:85
+msgid "FreeBSD tap device"
+msgstr "FreeBSD tap apparaat"
+
+#: src/freebsd/device.c:133
+#, c-format
+msgid "Error while writing to %s %s: %s"
+msgstr "Fout tijdens schrijven naar %s %s: %s"
+
+#: src/solaris/device.c:86
+#, c-format
+msgid "Could not open /dev/ip: %s"
+msgstr "Kon /dev/ip niet openen: %s"
+
+#: src/solaris/device.c:92
+#, c-format
+msgid "Can't assign new interface: %s"
+msgstr "Kan geen nieuwe interface toekennen: %s"
+
+#: src/solaris/device.c:97
+#, c-format
+msgid "Could not open %s twice: %s"
+msgstr "Kon `%s' niet twee keer openen: %s"
+
+#: src/solaris/device.c:102
+#, c-format
+msgid "Can't push IP module: %s"
+msgstr "Kan IP module niet invoegen: %s"
+
+#: src/solaris/device.c:108
+#, c-format
+msgid "Can't set PPA %d: %s"
+msgstr "Kon PPA %d niet instellen: %s"
+
+#: src/solaris/device.c:113
+#, c-format
+msgid "Can't link TUN device to IP: %s"
+msgstr "Kan TUN apparaat niet koppelen aan IP: %s"
+
+#: src/solaris/device.c:120
+msgid "Solaris tun device"
+msgstr "Solaris tun apparaat"
+
+#: src/netbsd/device.c:88
+msgid "NetBSD tun device"
+msgstr "NetBSD tun apparaat"
+
+#: src/openbsd/device.c:88
+msgid "OpenBSD tun device"
+msgstr "OpenBSD tun apparaat"
+
+#: src/openbsd/device.c:130
+#, c-format
+msgid "Unknown address family %d while reading packet from %s %s"
+msgstr "Onbekende adresfamilie tijdens lezen pakket van %s %s"
+
+#: src/openbsd/device.c:169
+#, c-format
+msgid "Unknown address family %d while writing packet to %s %s"
+msgstr "Onbekende adresfamilie tijdens schrijven pakket naar %s %s"
 
-#~ msgid "Encryption key set to %s"
-#~ msgstr "Sleutel ingesteld op %s"
+#~ msgid "Invalid public/private keypair!"
+#~ msgstr "Ongeldig publiek/privé sleutelpaar!"
index 1ffe3d7bb15411b92d993c228e7f174cd7efb7d6..a8f45b6425648667c5c1fbcdb7825ed4372e3754 100644 (file)
@@ -1,22 +1,31 @@
 ## Produce this file with automake to get Makefile.in
-# $Id: Makefile.am,v 1.5 2000/10/18 20:12:08 zarq Exp $
+# $Id: Makefile.am,v 1.6 2002/04/09 15:28:45 zarq Exp $
 
-sbin_PROGRAMS = tincd genauth
+sbin_PROGRAMS = tincd
 
-genauth_SOURCES = genauth.c
-tincd_SOURCES = conf.c connlist.c meta.c net.c netutl.c protocol.c subnet.c tincd.c
+EXTRA_DIST = linux/device.c freebsd/device.c openbsd/device.c solaris/device.c
 
-INCLUDES = -I$(top_builddir) -I$(top_srcdir)/cipher -I$(top_srcdir)/lib -I$(top_srcdir)/intl
+tincd_SOURCES = conf.c connection.c device.c edge.c event.c graph.c meta.c net.c net_packet.c net_setup.c      \
+       net_socket.c netutl.c node.c process.c protocol.c protocol_auth.c protocol_edge.c protocol_misc.c       \
+       protocol_key.c protocol_subnet.c route.c subnet.c tincd.c
 
-noinst_HEADERS = conf.h connlist.h meta.h net.h netutl.h protocol.h subnet.h
+INCLUDES = @INCLUDES@ -I$(top_builddir) -I$(top_srcdir)/lib -I$(top_srcdir)/intl
+
+noinst_HEADERS = conf.h connection.h device.h edge.h event.h graph.h meta.h net.h netutl.h node.h process.h    \
+       protocol.h route.h subnet.h
 
 LIBS = @LIBS@ @INTLLIBS@
 
 tincd_LDADD = \
        $(top_builddir)/lib/libvpn.a
 
-genauth_LDADD = $(top_builddir)/lib/libvpn.a
-
 localedir = $(datadir)/locale
 
-CFLAGS = @CFLAGS@ -DPKGLIBDIR=$(pkglibdir) -DCONFDIR=\"@sysconfdir@\" -DLOCALEDIR=\"$(localedir)\"
+CFLAGS = @CFLAGS@ -DPKGLIBDIR=$(pkglibdir) -DCONFDIR=\"$(sysconfdir)\" \
+       -DLOCALEDIR=\"$(localedir)\" -DLOCALSTATEDIR=\"$(localstatedir)\"
+
+dist-hook:
+       rm -f `find . -type l`
+
+lint: $(tincd_SOURCES)
+       lclint -nullassign -nullret +trytorecover +posixlib -skipansiheaders -skipposixheaders +gnuextensions -I/usr/include -I/usr/lib/gcc-lib/i386-linux/2.95.2/include -I. -I/home/zarq/p/tinc/cvs/cabal/src -I.. -I.. -I/home/zarq/p/tinc/cvs/cabal/lib -I/home/zarq/p/tinc/cvs/cabal/intl -D_POSIX_SOURCE -D__ELF__ -Dunix -D__i386__ -Dlinux -DHAVE_CONFIG_H -DPKGLIBDIR=/usr/local/lib/tinc -DCONFDIR=\"/usr/local/etc\" -DLOCALEDIR=\"/usr/local/share/locale\" $^