- Small cleanups
authorGuus Sliepen <guus@tinc-vpn.org>
Mon, 30 Oct 2000 00:22:54 +0000 (00:22 +0000)
committerGuus Sliepen <guus@tinc-vpn.org>
Mon, 30 Oct 2000 00:22:54 +0000 (00:22 +0000)
- Updated dutch translation
- Updated man pages

doc/tinc.conf.5
doc/tincd.8
po/es.po
po/nl.po
src/net.c
src/tincd.c

index 42d9cf2..930bb06 100644 (file)
@@ -30,18 +30,26 @@ But it is highly recommended that you use this feature of tinc,
 because it will be so much clearer whom your daemon talks to. Hence,
 we will assume that you use it.
 .PP
-.SH "PASSPHRASES"
-You should use the \fBgenauth\fR(8) program to generate passphrases.
-with, it accepts a single parameter, which is the number of bits the
-passphrase should be. Its output should be stored in
-\fI/etc/tinc/\fBnn\fI/passphrases/local\fR \-\- where \fBnn\fR stands
-for the network (See under \fBNETWORKS\fR) above.
+.SH "NAMES"
+Each tinc daemon should have a name that is unique in the network which
+it will be part of. The name will be used by other tinc daemons for
+identification. The name has to be declared in the
+\fI/etc/tinc/\fBnn\fI/tinc.conf\fR file.
 
-Please see the manpage for \fBgenauth\fR to learn more about setting
-up an authentication scheme.
+To make things easy, choose something that will give unique names to
+your tinc daemon(s): hostnames, owner surnames, location.
 .PP
-.SH "CONFIGURATION"
-The actual configuration of the daemon is done in the file
+.SH "PUBLIC/PRIVATE KEYS"
+You should use \fBtincd --generate-keys\fR to generate public/private
+keypairs. It will generate two keys. The line containing the private
+key should be completely copied to \fI/etc/tinc/\fBnn\fI/tinc.conf\fR
+\-\- where \fBnn\fR stands for the network (See under \fBNETWORKS\fR)
+above. The line containing the public key should be completely copied
+to \fI/etc/tinc/\fBnn\fI/hosts/\fBname\fR \-\- where \fBname\fR stands
+for the name of the tinc daemon (See \fBNAMES\fR).
+.PP
+.SH "SERVER CONFIGURATION"
+The server configuration of the daemon is done in the file
 \fI/etc/tinc/\fBnn\fI/tincd.conf\fR.
 
 This file consists of comments (lines started with a \fB#\fR) or
@@ -57,27 +65,18 @@ required that you put in the \fB=\fR sign, but doing so improves
 readability. If you leave it out, remember to replace it with at least
 one space character.
 .PP
-.SH "VARIABLES"
-.PP
 Here are all valid variables, listed in alphabetical order. The default
 value, required or optional is given between parentheses.
 .TP
-\fBConnectPort\fR = <\fIport\fR> (655)
-Connect to the upstream host (given with the \fBConnectTo\fR directive) on
-port \fIport\fR. port may be given in decimal (default), octal (when preceded
-by a single zero) or hexadecimal (prefixed with 0x). \fIport\fR is the port
-number for both the UDP and the TCP (meta) connections.
-.TP
-\fBConnectTo\fR = <\fIIP address|hostname\fR> (optional)
+\fBConnectTo\fR = <\fIname\fR> (optional)
 Specifies which host to connect to on startup. Multiple \fBConnectTo\fR variables
 may be specified, if connecting to the first one fails then tinc will try
-the next one, and so on. It is possible to specify hostnames for dynamic IP
-addresses (like those given on dyndns.org), tinc will not cache the resolved
-IP address.
+the next one, and so on. The names should be known to this tinc daemon
+(i.e., there should be a host configuration file for the name on the ConnectTo
+line).
 
-If you don't specify a host with \fBConnectTo\fR, regardless of whether a
-value for \fBConnectPort\fR is given, tinc won't connect at all, and will
-instead just listen for incoming connections.
+If you don't specify a host with \fBConnectTo\fR, tinc won't connect at all,
+and will instead just listen for incoming connections.
 .TP
 \fBHostnames\fR = <\fIyes|no\fR> (no)
 This option selects whether IP addresses (both real and on the VPN) should
@@ -85,15 +84,8 @@ be resolved. Since DNS lookups are blocking, it might affect tinc's
 efficiency, even stopping the daemon for a few seconds everytime it does
 a lookup if your DNS server is not responding.
 
-This does not affect resolving hostnames to IP addresses from the configuration
-file.
-.TP
-\fBIndirectData\fR = <\fIyes|no\fR> (no)
-This option specifies whether other tinc daemons besides the one you
-specified with \fBConnectTo\fR can make a direct connection to you. This is
-especially useful if you are behind a firewall and it is impossible
-to make a connection from the outside to your tinc daemon. Otherwise,
-it is best to leave this option out or set it to no.
+This does not affect resolving hostnames to IP addresses from the
+host configuration files.
 .TP
 \fBInterface\fR = <\fIdevice\fR> (optional)
 If you have more than one network interface in your computer, tinc will by
@@ -113,30 +105,9 @@ are valid. It is common practice to change keys at regular intervals to
 make it even harder for crackers, even though it is thought to be nearly
 impossible to crack a single key.
 .TP
-\fBListenPort\fR = <\fIport\fR> (655)
-Listen on local port \fIport\fR. The computer connecting to this daemon should
-use this number as the argument for his \fBConnectPort\fR.
-.TP
-\fBMyOwnVPNIP\fR = <\fIlocal address[/maskbits]\fR> (required)
-The \fIlocal address\fR is the number that the daemon will propagate to
-other daemons on the network when it is identifying itself. Hence this
-will be the file name of the passphrase file that the other end expects
-to find the passphrase in.
-
-The local address is the IP address of the tap device, not the real IP
-address of the host running tincd. Due to changes in recent kernels, it
-is also necessary that you make the ethernet (also known as MAC) address
-equal to the IP address (see the example).
-
-\fImaskbits\fR is the number of bits set to 1 in the netmask part.
-.TP
-\fBMyVirtualIP\fR = <\fIlocal address[/maskbits]>
-This is an alias for \fBMyOwnVPNIP\fR.
-.TP
-\fBPassphrases\fR = <\fIdirectory\fR> (/etc/tinc/NETNAME/passphrases)
-The directory where tinc will look for passphrases when someone tries to
-connect. Please see the manpage for genauth(8) for more information
-about passphrases as used by tinc.
+\fBName\fR = <\fIname\fR> (required)
+This is the name which identifies this tinc daemon. It must be unique for
+the virtual private network this daemon will connect to.
 .TP
 \fBPingTimeout\fR = <\fIseconds\fR> (5)
 The number of seconds of inactivity that tinc will wait before sending a
@@ -144,40 +115,85 @@ 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.
 .TP
+\fBPrivateKey\fR = <\fIkey\fR> (required)
+The private RSA key of this tinc daemon. It will allow this tinc daemon to
+authenticate itself to other daemons.
+.TP
 \fBTapDevice\fR = <\fIdevice\fR> (/dev/tap0)
-The ethertap device to use. Note that you can only use one device per
+The ethertap or tun/tap device to use. tinc will automatically detect what
+kind of tapdevice it is.
+Note that you can only use one device per
 daemon. The info pages of the tinc package contain more information
 about configuring an ethertap device for Linux.
-.TP
-\fBTCPonly\fR = <\fIyes|no\fR> (no, experimental)
-If this variable is set to yes, then the packets are tunnelled over a TCP
-connection instead of a UDP connection. This is especially useful for those
-who want to run a tinc daemon from behind a masquerading firewall, or if
-UDP packet routing is disabled somehow. This is experimental code,
-try this at your own risk.
-.TP
-\fBVpnMask\fR = <\fImask\fR> (optional)
-The mask that defines the scope of the entire VPN. This option is not used
-by the tinc daemon itself, but can be used by startup scripts to configure
-the ethertap devices correctly.
 .PP
+.SH "HOST CONFIGURATION FILES"
+The host configuration files contain all information needed to establish a
+connection to those hosts. A host configuration file is also required for the
+local tinc daemon, it will use it to read in it's listen port, public key and
+subnets.
+
+The idea is that these files are ``portable''. You can safely mail your own host
+configuration file to someone else. That other person can then copy it to his
+own hosts directory, and now his tinc daemon will be able to connect to your
+tinc daemon. Since host configuration files only contain public keys, no secrets
+are revealed by sending out this information.
+.PP
+.TP
+\fBAddress\fR = <\fIIP address\fR> (required)
+The real address or hostname of this tinc daemon.
+.TP
+\fBPort\fR = <\fIport number\fR> (655)
+The port on which this tinc daemon is listening for incoming connections.
+.TP
+\fBPublicKey\fR = <\fIkey\fR> (required)
+The public RSA key of this tinc daemon. It will be used to cryptographically
+verify it's identity and to set up a secure connection.
+.TP
+\fBSubnet\fR = <\fIaddress/masklength\fR> (optional)
+The subnet which this tinc daemon will serve. tinc tries to look up which other
+daemon it should send a packet to by searching the appropiate subnet. If the
+packet matches a subnet, it will be sent to the daemon who has this subnet in his
+host configuration file. Multiple subnet lines can be specified.
+
+At the moment, this directive is only used in the host configuration file of
+the local tinc daemon itself. In upcoming versions of tinc, it will be possible to
+restrict other hosts in which subnets they server.
+
+The subnets must be in a form like \fI192.168.1.0/24\fR, where 192.168.1.0 is the
+network address and 24 is the number of bits set in the netmask. Note that subnets
+like \fI192.168.1.1/24\fR are invalid! Read a networking howto/FAQ/guide if you
+don't understand this.
 .SH "FILES"
 .TP
 \fI/etc/tinc/\fR
 The top directory for configuration files.
 .TP
-\fI/etc/tinc/\fBnn\fI/tincd.conf\fR
-The default name of the configuration file for net
+\fI/etc/tinc/\fBnn\fI/tinc.conf\fR
+The default name of the server configuration file for net
 \fBnn\fR.
 .TP
-\fI/etc/tinc/\fBnn\fI/passphrases/\fR
-Passphrases are kept in this directory. (See the section
-\fBPASSPHRASES\fR above).
+\fI/etc/tinc/\fBnn\fI/hosts/\fR
+Host configuration files are kept in this directory.
+.TP
+\fI/etc/tinc/\fBnn\fI/tinc-up\fR
+If an executable file with this name exists, it will be executed
+right after the tinc daemon has connected to the tap device. It can
+be used to ifconfig the network interface.
+
+If the tapdevice is a tun/tap device, the evironment variable
+\fB$IFNAME\fR will be set to the name of the network interface.
+.TP
+\fI/etc/tinc/\fBnn\fI/tinc-down\fR
+If an executable file with this name exists, it will be executed
+right before the tinc daemon is going to close it's connection to the
+tap device.
 .PP
 .SH "SEE ALSO"
-\fBtincd\fR(8), \fBgenauth\fR(8)
+\fBtincd\fR(8)
 .TP
 \fBhttp://tinc.nl.linux.org/\fR
+.TP
+\fBhttp://www.kernelnotes.org/guides/NAG/\fR
 .PP
 The full documentation for
 .B tinc
index 573531e..648c5de 100644 (file)
@@ -9,24 +9,25 @@ tinc \- tinc VPN daemon
 
 This is the daemon of tinc, a secure virtual private
 network (VPN) project. When started, tincd will read
-it's configuration file to determine what virtual subnet
+it's configuration file to determine what virtual subnets
 it has to serve and to what other tinc daemons it should connect.
-It will connect to the ethertap device and set up a socket for incomming
-connections.
+It will connect to the ethertap or tun/tap device and set up a socket
+for incomming connections.
 If that succeeds, it will detach from the controlling terminal and
 continue in the background, accepting and setting up connections to other
 tinc daemons that are part of the virtual private network.
 
 .SH OPTIONS
 .TP
-\fB\-c\fR, \fB\-\-config\fR=\fIFILE\fR
-Read configuration options from FILE.
+\fB\-c\fR, \fB\-\-config\fR=\fIDIR\fR
+Read configuration options from DIR.
 .TP
 \fB\-D\fR, \fB\-\-no\-detach\fR
-Don't fork and detach.
+Don't fork and detach. This will also disable the automatic
+restart mechanism for fatal errors.
 .TP
 \fB\-d\fR
-Increase debug level.
+Increase debug level (see below).
 .TP
 \fB\-k\fR, \fB\-\-kill\fR
 Attempt to kill a running tincd and exit.
@@ -34,11 +35,12 @@ Attempt to kill a running tincd and exit.
 \fB\-n\fR, \fB\-\-net\fR=\fINETNAME\fR
 Connect to net NETNAME.
 .TP
-\fB\-t\fR, \fB\-\-timeout\fR=\fITIMEOUT\fR
-Seconds to wait before giving a timeout.
+\fB\-K\fR, \fB\-\-generate-key\fR[=\fIBITS]\fR
+Generate public/private RSA keypair and exit. If BITS is omitted,
+the default length will be 1024 bits.
 .TP
 \fB\-\-help\fR
-Display this help and exit.
+Display short list of options.
 .TP
 \fB\-\-version\fR
 Output version information and exit.
@@ -55,7 +57,7 @@ Closes all connections and quits.
 Dumps the connection list to syslog.
 .TP
 \fBUSR2\fR
-Invalidates the current cryptographic key and generates a new one.
+Dumps the subnet list to syslog.
 .TP
 \fBALRM\fR
 Forces tincd to try to connect to an uplink immediately. Usually tincd attempts
@@ -75,24 +77,28 @@ It will also any serious error.
 \fB\-d\fR
 This will log all connections that are made with other tinc daemons.
 .TP
-\fB\-d \-d\fR
+\fB\-dd\fR
+This will log status and error messages from other tinc daemons.
+.TP
+\fB\-ddd\fR
 This will log all requests that are exchanged with other tinc daemons. These include
 authentication, key exchange and connection list updates.
 .TP
-\fB\-d \-d \-d\fR
+\fB\-dddd\fR
 This will log a copy of everything received on the meta socket.
 .TP
-\fB\-d \-d \-d \-d\fR
-This will log all packets that are sent over the virtual private network.
+\fB\-ddddd\fR
+This will log all network traffic over the virtual private network.
 .PP
 .SH "FILES"
 .TP
 \fI/etc/tinc/<NETNAME>/tinc.conf\fR
-The configuration file for tincd.
+The configuration file for tincd. This should also contain the private RSA key.
 .TP
-\fI/etc/tinc/<NETNAME>/passphrases/*\fR
-The directory containing the secret passphrases
-used to authenticate other tinc daemons.
+\fI/etc/tinc/<NETNAME>/hosts/*\fR
+The directory containing the host configuration files
+used to authenticate other tinc daemons. They contain
+the public RSA keys of other hosts.
 .PP
 .SH "BUGS"
 Maintaining a connection list on each tinc daemon that can connect and disconnect at any
@@ -100,13 +106,15 @@ moment, and making sure that all connections satisfy the tree property isn't eas
 we have done a lot to make sure tinc is sturdy and foolproof, it might happen that
 some connection lists get corrupted.
 .PP
+\fBThe cryptography in tinc is not well tested yet. Use it at your own risk!\fR
+.PP
 If you find any bugs, report them to tinc@nl.linux.org.
 .PP
 .SH "TODO"
-A lot. If something you would like to see is not implemented, just ask; we most certainly will.
+A lot, especially security auditting.
 .PP 
 .SH "SEE ALSO"
-\fBtinc.conf\fR(5), \fBgenauth\fR(8)
+\fBtinc.conf\fR(5)
 .TP
 \fBhttp://tinc.nl.linux.org/\fR
 .TP
@@ -127,8 +135,6 @@ should give you access to the complete manual.
 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.
-.PP
-This product includes software developed by Eric Young (eay@mincom.oz.au)
 .SH "AUTHORS"
 .na
 .nf
index b54fbd9..7755e87 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: tinc 1.0pre2\n"
-"POT-Creation-Date: 2000-10-29 02:49+0100\n"
+"POT-Creation-Date: 2000-10-30 01:16+0100\n"
 "PO-Revision-Date: 2000-07-02 12:49+01:00\n"
 "Last-Translator: Enrique Zanardi <ezanardi@id-agora.com>\n"
 "Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -48,7 +48,7 @@ msgstr "Enviados %d bytes a %lx"
 msgid "Sending meta data to %s (%s) failed: %m"
 msgstr "Error enviando datos: %m"
 
-#: src/meta.c:89 src/net.c:940
+#: src/meta.c:89 src/net.c:974
 #, fuzzy, c-format
 msgid "This is a bug: %s:%d: %d:%m %s (%s)"
 msgstr "Esto es un `bug': %s:%d: %d:%m"
@@ -58,332 +58,347 @@ msgstr "Esto es un `bug': %s:%d: %d:%m"
 msgid "Metadata socket error for %s (%s): %s"
 msgstr "Error en el `socket' de metadatos: %s"
 
-#: src/meta.c:115
+#: src/meta.c:114
 #, fuzzy, c-format
 msgid "Connection closed by %s (%s)"
 msgstr "Conexión desde %s:%d"
 
-#: src/meta.c:119
+#: src/meta.c:118
 #, fuzzy, c-format
 msgid "Metadata socket read error for %s (%s): %m"
 msgstr "Error de lectura del `socket' de metadatos: %m"
 
-#: src/meta.c:149
+#: src/meta.c:148
 #, fuzzy, c-format
 msgid "Got request from %s (%s): %s"
 msgstr "Petición desconocida: %s"
 
-#: src/meta.c:167
+#: src/meta.c:166
 #, fuzzy, c-format
 msgid "Metadata read buffer overflow for %s (%s)"
 msgstr "Desbordamiento del búfer de lectura de metadatos"
 
-#: src/net.c:119
+#: src/net.c:127
 #, fuzzy, c-format
 msgid "Sending packet of %d bytes to %s (%s)"
 msgstr "Enviados %d bytes a %lx"
 
-#: src/net.c:128
+#: src/net.c:136
 #, fuzzy, c-format
 msgid "Error sending packet to %s (%s): %m"
 msgstr "Error enviando datos: %m"
 
-#: src/net.c:160
+#: src/net.c:165
+#, fuzzy, c-format
+msgid "Writing packet of %d bytes to tap device"
+msgstr "Enviados %d bytes a %lx"
+
+#: src/net.c:175
 #, fuzzy, c-format
 msgid "Can't write to tun/tap device: %m"
 msgstr "No puedo escribir en el dispositivo tap: %m"
 
-#: src/net.c:167
+#: src/net.c:182
 #, fuzzy, c-format
 msgid "Can't write to ethertap device: %m"
 msgstr "No puedo escribir en el dispositivo tap: %m"
 
-#: src/net.c:268
+#: src/net.c:283
 #, fuzzy
 msgid "Queue flushed"
 msgstr "cola vaciada"
 
-#: src/net.c:283
+#: src/net.c:298
 #, fuzzy, c-format
 msgid "Flushing send queue for %s (%s)"
 msgstr "Vaciando la cola de envíos para "
 
-#: src/net.c:291
+#: src/net.c:306
 #, fuzzy, c-format
 msgid "Flushing receive queue for %s (%s)"
 msgstr "Vaciando la cola de recepción para "
 
-#: src/net.c:310
+#: src/net.c:325
 #, c-format
 msgid "Trying to look up %d.%d.%d.%d in connection list failed!"
 msgstr ""
 
-#: src/net.c:326
+#: src/net.c:341
 #, fuzzy, c-format
 msgid "Could not open UDP connection to %s (%s)"
 msgstr "No pude abrir %s: %s\n"
 
-#: src/net.c:383
+#: src/net.c:398
 #, c-format
 msgid "Could not open %s: %m"
 msgstr "No pude abrir %s: %m"
 
-#: src/net.c:410
+#: src/net.c:425
 #, c-format
 msgid "%s is a new style tun/tap device"
 msgstr ""
 
-#: src/net.c:439
+#: src/net.c:454
 #, c-format
 msgid "Creating metasocket failed: %m"
 msgstr "Fallo al crear el metasocket: %m"
 
-#: src/net.c:445 src/net.c:451 src/net.c:513
+#: src/net.c:460 src/net.c:466 src/net.c:528
 #, c-format
 msgid "setsockopt: %m"
 msgstr "setsockopt(): %m"
 
-#: src/net.c:458 src/net.c:520
+#: src/net.c:473 src/net.c:535
 #, c-format
 msgid "fcntl: %m"
 msgstr "fcntl(): %m"
 
-#: src/net.c:466
+#: src/net.c:481
 #, c-format
 msgid "Unable to bind listen socket to interface %s: %m"
 msgstr ""
 
-#: src/net.c:482
+#: src/net.c:497
 #, c-format
 msgid "Can't bind to port %hd/tcp: %m"
 msgstr "Ha fallado la llamada a bind() con el puerto %hd/tcp: %m"
 
-#: src/net.c:488
+#: src/net.c:503
 #, c-format
 msgid "listen: %m"
 msgstr "listen(): %m"
 
-#: src/net.c:507
+#: src/net.c:522
 #, c-format
 msgid "Creating socket failed: %m"
 msgstr "Error al crear el `socket': %m"
 
-#: src/net.c:531
+#: src/net.c:546
 #, c-format
 msgid "Can't bind to port %hd/udp: %m"
 msgstr "Ha fallado la llamada a bind() con el puerto %hd/udp: %m"
 
-#: src/net.c:548
+#: src/net.c:563
 #, fuzzy, c-format
 msgid "Trying to connect to %s"
 msgstr "Cerrando conexión con %s."
 
-#: src/net.c:558
+#: src/net.c:573
 #, fuzzy, c-format
 msgid "Creating socket for %s port %d failed: %m"
 msgstr "Error al crear el `socket': %m"
 
-#: src/net.c:569
+#: src/net.c:584
 #, c-format
 msgid "%s port %hd: %m"
 msgstr ""
 
-#: src/net.c:576
+#: src/net.c:591
 #, c-format
 msgid "fcntl for %s port %d: %m"
 msgstr ""
 
-#: src/net.c:582
+#: src/net.c:597
 #, fuzzy, c-format
 msgid "Connected to %s port %hd"
 msgstr "Conectado a %s:%hd"
 
-#: src/net.c:605
+#: src/net.c:620
 msgid "Invalid name for outgoing connection"
 msgstr ""
 
-#: src/net.c:614
+#: src/net.c:629
 #, c-format
 msgid "Error reading host configuration file for %s"
 msgstr ""
 
-#: src/net.c:621
+#: src/net.c:636
 #, c-format
 msgid "No address specified for %s"
 msgstr ""
 
-#: src/net.c:628
+#: src/net.c:643
 #, fuzzy, c-format
 msgid "Error looking up `%s': %m"
 msgstr "Error buscando `%s': %s\n"
 
-#: src/net.c:638
+#: src/net.c:653
 #, fuzzy, c-format
 msgid "Could not set up a meta connection to %s"
 msgstr "No he podido configurar una meta conexión."
 
-#: src/net.c:673
+#: src/net.c:688
 msgid "Name for tinc daemon required!"
 msgstr ""
 
-#: src/net.c:681
+#: src/net.c:696
 msgid "Invalid name for myself!"
 msgstr ""
 
-#: src/net.c:687
+#: src/net.c:702
 msgid "Private key for tinc daemon required!"
 msgstr ""
 
-#: src/net.c:699
+#: src/net.c:714
 msgid "Cannot open host configuration file for myself!"
 msgstr ""
 
-#: src/net.c:705
+#: src/net.c:720
 msgid "Public key for tinc daemon required!"
 msgstr ""
 
-#: src/net.c:745
+#: src/net.c:760
 msgid "Network address and subnet mask do not match!"
 msgstr ""
 
-#: src/net.c:754
+#: src/net.c:769
 #, fuzzy
 msgid "Unable to set up a listening socket!"
 msgstr "No puedo configurar un `socket' a la escucha"
 
-#: src/net.c:760
+#: src/net.c:775
 #, fuzzy
 msgid "Unable to set up an incoming vpn data socket!"
 msgstr "No puedo configurar un `socket' para recibir datos de la vpn"
 
-#: src/net.c:767
+#: src/net.c:800
 #, fuzzy, c-format
 msgid "Ready: listening on port %hd"
 msgstr "Listo: escuchando en el puerto %d."
 
-#: src/net.c:799
+#: src/net.c:832
 #, fuzzy, c-format
 msgid "Still failed to connect to other, will retry in %d seconds"
 msgstr "Siguo sin poder conectar con el otro. Lo reintentaré en %d segundos."
 
-#: src/net.c:834 src/net.c:893
+#: src/net.c:867 src/net.c:927
 #, fuzzy, c-format
 msgid "Error while executing %s: %m"
 msgstr "Error esperando entrada: %m"
 
-#: src/net.c:856
+#: src/net.c:889
 #, fuzzy, c-format
 msgid "Trying to re-establish outgoing connection in %d seconds"
 msgstr "Intento re-establecer la conexión saliente en 5 segundos."
 
-#: src/net.c:903
+#: src/net.c:937
 #, fuzzy
 msgid "Terminating"
 msgstr "Terminando."
 
-#: src/net.c:917
+#: src/net.c:951
 #, fuzzy, c-format
 msgid "Opening UDP socket to %s"
 msgstr "Abriendo `socket' UDP a "
 
-#: src/net.c:922
+#: src/net.c:956
 #, fuzzy, c-format
 msgid "Creating UDP socket failed: %m"
 msgstr "Error al crear el `socket': %m"
 
-#: src/net.c:932
+#: src/net.c:966
 #, fuzzy, c-format
 msgid "Connecting to %s port %d failed: %m"
 msgstr "Error al crear `socket' de datos: %m"
 
-#: src/net.c:965
+#: src/net.c:999
 #, c-format
 msgid "Error: getpeername: %m"
 msgstr "Error: getpeername(): %m"
 
-#: src/net.c:980
+#: src/net.c:1014
 #, fuzzy, c-format
 msgid "Connection from %s port %d"
 msgstr "Conexión desde %s:%d"
 
-#: src/net.c:1025
+#: src/net.c:1060
 #, fuzzy, c-format
 msgid "This is a bug: %s:%d: %d:%m"
 msgstr "Esto es un `bug': %s:%d: %d:%m"
 
-#: src/net.c:1031
+#: src/net.c:1066
 #, fuzzy, c-format
 msgid "Incoming data socket error: %s"
 msgstr "Error en el `socket' de recepción de datos: %s"
 
-#: src/net.c:1037
+#: src/net.c:1072
 #, fuzzy, c-format
 msgid "Receiving packet failed: %m"
 msgstr "Error recibiendo datos: %m"
 
-#: src/net.c:1068
+#: src/net.c:1078
+#, fuzzy, c-format
+msgid "Received packet of %d bytes"
+msgstr "Recibiendo clave de "
+
+#: src/net.c:1100
 #, fuzzy, c-format
 msgid "Closing connection with %s (%s)"
 msgstr "Cerrando conexión con %s."
 
-#: src/net.c:1108
+#: src/net.c:1136
 #, fuzzy
 msgid "Trying to re-establish outgoing connection in 5 seconds"
 msgstr "Intento re-establecer la conexión saliente en 5 segundos."
 
-#: src/net.c:1136
+#: src/net.c:1168
 #, c-format
 msgid "%s (%s) didn't respond to PING"
 msgstr ""
 
-#: src/net.c:1167
+#: src/net.c:1199
 #, c-format
 msgid "Accepting a new connection failed: %m"
 msgstr "Error al aceptar una nueva conexión: %m"
 
-#: src/net.c:1175
+#: src/net.c:1207
 #, fuzzy
 msgid "Closed attempted connection"
 msgstr "Se ha cerrado la conexión que se intentaba realizar."
 
-#: src/net.c:1208
+#: src/net.c:1240
 #, fuzzy, c-format
 msgid "Outgoing data socket error for %s (%s): %s"
 msgstr "Error en el `socket' de datos salientes: %s"
 
-#: src/net.c:1244
+#: src/net.c:1276
 #, fuzzy, c-format
 msgid "Error while reading from tun/tap device: %m"
 msgstr "Error leyendo del dispositivo tap: %m"
 
-#: src/net.c:1253
+#: src/net.c:1285
 #, fuzzy, c-format
 msgid "Error while reading from ethertap device: %m"
 msgstr "Error leyendo del dispositivo tap: %m"
 
-#: src/net.c:1264
+#: src/net.c:1296
 msgid "Received short packet from tap device"
 msgstr ""
 
-#: src/net.c:1270
+#: src/net.c:1302
 #, c-format
 msgid "Read packet of length %d from tap device"
 msgstr ""
 
-#: src/net.c:1301
+#: src/net.c:1334
 #, c-format
 msgid "Error while waiting for input: %m"
 msgstr "Error esperando entrada: %m"
 
-#: src/net.c:1308
+#: src/net.c:1341
 msgid "Rereading configuration file and restarting in 5 seconds"
 msgstr ""
 
-#: src/net.c:1315
+#: src/net.c:1348
 msgid "Unable to reread configuration file, exiting"
 msgstr ""
 
-#: src/netutl.c:115
+#: src/net.c:1374
+#, fuzzy
+msgid "Regenerating symmetric key"
+msgstr "Generando claves de %d bits."
+
+#: src/netutl.c:114
 #, c-format
 msgid "Error looking up `%s': %s\n"
 msgstr "Error buscando `%s': %s\n"
@@ -454,230 +469,260 @@ msgstr ""
 msgid "No public key known for %s (%s)"
 msgstr ""
 
-#: src/protocol.c:273
+#: src/protocol.c:269
 #, c-format
 msgid "Generated random challenge (unencrypted): %s"
 msgstr ""
 
-#: src/protocol.c:280 src/protocol.c:334
+#: src/protocol.c:276 src/protocol.c:330
 #, c-format
 msgid "Error during encryption of challenge for %s (%s)"
 msgstr ""
 
-#: src/protocol.c:306
+#: src/protocol.c:302
 #, fuzzy, c-format
 msgid "Got bad CHALLENGE from %s (%s)"
 msgstr "recibí KEY_CHANGED de "
 
-#: src/protocol.c:316
+#: src/protocol.c:312
 #, c-format
 msgid "Intruder: wrong challenge length from %s (%s)"
 msgstr ""
 
-#: src/protocol.c:343
+#: src/protocol.c:339
 #, c-format
 msgid "Received random challenge (unencrypted): %s"
 msgstr ""
 
-#: src/protocol.c:359
+#: src/protocol.c:355
 #, c-format
 msgid "Trying to send CHAL_REPLY to %s (%s) without a valid CHALLENGE"
 msgstr ""
 
-#: src/protocol.c:390
+#: src/protocol.c:386
 #, fuzzy, c-format
 msgid "Got bad CHAL_REPLY from %s (%s)"
 msgstr "recibí una petición ANS_KEY incorrecta: %s"
 
-#: src/protocol.c:399
+#: src/protocol.c:395
 #, c-format
 msgid "Intruder: wrong challenge reply length from %s (%s)"
 msgstr ""
 
-#: src/protocol.c:416
+#: src/protocol.c:412
 #, c-format
 msgid "Intruder: wrong challenge reply from %s (%s)"
 msgstr ""
 
-#: src/protocol.c:421
+#: src/protocol.c:417
 #, c-format
 msgid "Expected challenge reply: %s"
 msgstr ""
 
-#: src/protocol.c:463
+#: src/protocol.c:464
+#, c-format
+msgid "Generated random meta key (unencrypted): %s"
+msgstr ""
+
+#: src/protocol.c:471 src/protocol.c:534
+#, fuzzy, c-format
+msgid "Error during encryption of meta key for %s (%s)"
+msgstr "Error enviando datos: %m"
+
+#: src/protocol.c:503
+#, fuzzy, c-format
+msgid "Got bad METAKEY from %s (%s)"
+msgstr "recibí REQ_KEY de "
+
+#: src/protocol.c:513
+#, c-format
+msgid "Intruder: wrong meta key length from %s (%s)"
+msgstr ""
+
+#: src/protocol.c:543
+#, c-format
+msgid "Received random meta key (unencrypted): %s"
+msgstr ""
+
+#: src/protocol.c:583
 #, c-format
 msgid "Removing old entry for %s at %s in favour of new connection from %s"
 msgstr ""
 
-#: src/protocol.c:476
+#: src/protocol.c:599
 #, fuzzy, c-format
 msgid "Connection with %s (%s) activated"
 msgstr "Activada la conexión con %s."
 
-#: src/protocol.c:531
+#: src/protocol.c:654
 #, fuzzy, c-format
 msgid "Got bad ADD_SUBNET from %s (%s)"
 msgstr "recibí una petición ADD_HOST incorrecta: %s"
 
-#: src/protocol.c:540
+#: src/protocol.c:663
 #, fuzzy, c-format
 msgid "Got bad ADD_SUBNET from %s (%s): invalid identity name"
 msgstr "recibí una petición ADD_HOST incorrecta: %s"
 
-#: src/protocol.c:549
+#: src/protocol.c:672
 #, fuzzy, c-format
 msgid "Got bad ADD_SUBNET from %s (%s): invalid subnet string"
 msgstr "recibí una petición ADD_HOST incorrecta: %s"
 
-#: src/protocol.c:560
+#: src/protocol.c:683
 #, c-format
 msgid "Warning: got ADD_SUBNET from %s (%s) for ourself, restarting"
 msgstr ""
 
-#: src/protocol.c:571
+#: src/protocol.c:694
 #, c-format
 msgid "Got ADD_SUBNET for %s from %s (%s) which is not in our connection list"
 msgstr ""
 
-#: src/protocol.c:611
+#: src/protocol.c:734
 #, fuzzy, c-format
 msgid "Got bad DEL_SUBNET from %s (%s)"
 msgstr "recibí una petición DEL_HOST incorrecta: %s"
 
-#: src/protocol.c:620
+#: src/protocol.c:743
 #, fuzzy, c-format
 msgid "Got bad DEL_SUBNET from %s (%s): invalid identity name"
 msgstr "recibí una petición DEL_HOST incorrecta: %s"
 
-#: src/protocol.c:629
+#: src/protocol.c:752
 #, fuzzy, c-format
 msgid "Got bad DEL_SUBNET from %s (%s): invalid subnet string"
 msgstr "recibí una petición DEL_HOST incorrecta: %s"
 
-#: src/protocol.c:640
+#: src/protocol.c:763
 #, c-format
 msgid "Warning: got DEL_SUBNET from %s (%s) for ourself, restarting"
 msgstr ""
 
-#: src/protocol.c:651
+#: src/protocol.c:774
 #, c-format
 msgid "Got DEL_SUBNET for %s from %s (%s) which is not in our connection list"
 msgstr ""
 
-#: src/protocol.c:688
+#: src/protocol.c:811
 #, fuzzy, c-format
 msgid "Got bad ADD_HOST from %s (%s)"
 msgstr "recibí una petición ADD_HOST incorrecta: %s"
 
-#: src/protocol.c:696
+#: src/protocol.c:819
 #, fuzzy, c-format
 msgid "Got bad ADD_HOST from %s (%s): invalid identity name"
 msgstr "recibí una petición ADD_HOST incorrecta: %s"
 
-#: src/protocol.c:705
+#: src/protocol.c:828
 #, c-format
 msgid "Warning: got ADD_HOST from %s (%s) for ourself, restarting"
 msgstr ""
 
-#: src/protocol.c:722
+#: src/protocol.c:845
 #, c-format
 msgid "Got duplicate ADD_HOST for %s (%s) from %s (%s)"
 msgstr ""
 
-#: src/protocol.c:730
+#: src/protocol.c:853
 #, c-format
 msgid "Removing old entry for %s (%s) in favour of new connection"
 msgstr ""
 
-#: src/protocol.c:773
+#: src/protocol.c:896
 #, fuzzy, c-format
 msgid "Got bad DEL_HOST from %s (%s)"
 msgstr "recibí una petición DEL_HOST incorrecta: %s"
 
-#: src/protocol.c:782
+#: src/protocol.c:905
 #, fuzzy, c-format
 msgid "Got bad DEL_HOST from %s (%s): invalid identity name"
 msgstr "recibí una petición DEL_HOST incorrecta: %s"
 
-#: src/protocol.c:791
+#: src/protocol.c:914
 #, c-format
 msgid "Warning: got DEL_HOST from %s (%s) for ourself, restarting"
 msgstr ""
 
-#: src/protocol.c:802
+#: src/protocol.c:925
 #, c-format
 msgid "Got DEL_HOST from %s (%s) for %s which is not in our connection list"
 msgstr ""
 
-#: src/protocol.c:812
+#: src/protocol.c:935
 #, fuzzy, c-format
 msgid "Got DEL_HOST from %s (%s) for %s which doesn't match"
 msgstr "recibí una petición DEL_HOST incorrecta: %s"
 
-#: src/protocol.c:848
+#: src/protocol.c:971
 #, fuzzy, c-format
 msgid "Got bad STATUS from %s (%s)"
 msgstr "recibí una petición ANS_KEY incorrecta: %s"
 
-#: src/protocol.c:855
+#: src/protocol.c:978
 #, fuzzy, c-format
 msgid "Status message from %s (%s): %s: %s"
 msgstr "He recibido una petición: %s"
 
-#: src/protocol.c:879
+#: src/protocol.c:1002
 #, fuzzy, c-format
 msgid "Got bad ERROR from %s (%s)"
 msgstr "recibí una petición DEL_HOST incorrecta: %s"
 
-#: src/protocol.c:886
+#: src/protocol.c:1009
 #, fuzzy, c-format
 msgid "Error message from %s (%s): %s: %s"
 msgstr "He recibido una petición: %s"
 
-#: src/protocol.c:962
+#: src/protocol.c:1085
 #, fuzzy, c-format
 msgid "Got bad KEY_CHANGED from %s (%s)"
 msgstr "recibí KEY_CHANGED de "
 
-#: src/protocol.c:969
+#: src/protocol.c:1092
 #, c-format
 msgid ""
 "Got KEY_CHANGED from %s (%s) origin %s which does not exist in our "
 "connection list"
 msgstr ""
 
-#: src/protocol.c:999
+#: src/protocol.c:1123
 #, fuzzy, c-format
 msgid "Got bad REQ_KEY from %s (%s)"
 msgstr "recibí REQ_KEY de "
 
-#: src/protocol.c:1006
+#: src/protocol.c:1130
 #, c-format
 msgid ""
 "Got REQ_KEY from %s (%s) origin %s which does not exist in our connection "
 "list"
 msgstr ""
 
-#: src/protocol.c:1022
+#: src/protocol.c:1148
 #, c-format
 msgid ""
 "Got REQ_KEY from %s (%s) destination %s which does not exist in our "
 "connection list"
 msgstr ""
 
-#: src/protocol.c:1050
+#: src/protocol.c:1184
 #, fuzzy, c-format
 msgid "Got bad ANS_KEY from %s (%s)"
 msgstr "recibí una petición ANS_KEY incorrecta: %s"
 
-#: src/protocol.c:1057
+#: src/protocol.c:1191
 #, c-format
 msgid ""
 "Got ANS_KEY from %s (%s) origin %s which does not exist in our connection "
 "list"
 msgstr ""
 
-#: src/protocol.c:1091
+#: src/protocol.c:1203
+#, fuzzy, c-format
+msgid "Got bad ANS_KEY from %s (%s) origin %s: invalid key length"
+msgstr "recibí una petición ANS_KEY incorrecta: %s"
+
+#: src/protocol.c:1224
 #, c-format
 msgid ""
 "Got ANS_KEY from %s (%s) destination %s which does not exist in our "
@@ -685,7 +730,7 @@ msgid ""
 msgstr ""
 
 #. Do some intl stuff right now
-#: src/subnet.c:242 src/tincd.c:397
+#: src/subnet.c:242 src/tincd.c:394
 msgid "unknown"
 msgstr ""
 
@@ -715,11 +760,11 @@ msgstr ""
 #: src/tincd.c:105
 #, fuzzy
 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"
+"  -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"
 msgstr ""
 "  -c, --config=FICHERO  Lee opciones de configuración del FICHERO.\n"
 "  -D, --no-detach       No hagas fork() y liberes la terminal.\n"
@@ -732,9 +777,9 @@ msgstr ""
 #: src/tincd.c:110
 #, fuzzy
 msgid ""
-"  -K, --keygen[=BITS]   Generate public/private RSA keypair.\n"
-"      --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            Muestra esta ayuda y termina.\n"
@@ -750,85 +795,78 @@ msgid "Invalid argument! BITS must be a number equal to or greater than 512.\n"
 msgstr ""
 
 #: src/tincd.c:208
-msgid ""
-"Seeding the PRNG: please press some keys or move\n"
-"the mouse if this program seems to have halted...\n"
-msgstr ""
-
-#. OpenSSL PRNG state apparently uses 1024 bytes, but it seems pretty sufficient anyway :)
-#: src/tincd.c:211
 #, fuzzy, c-format
 msgid "Generating %d bits keys:\n"
 msgstr "Generando claves de %d bits."
 
-#: src/tincd.c:215
+#: src/tincd.c:212
 msgid "Error during key generation!"
 msgstr ""
 
-#: src/tincd.c:219
+#: src/tincd.c:216
 #, fuzzy
 msgid "Done.\n"
 msgstr ": hecho.\n"
 
-#: src/tincd.c:221
+#: src/tincd.c:218
 msgid ""
 "Please copy the private key to tinc.conf and the\n"
 "public key to your host configuration file:\n"
 "\n"
 msgstr ""
 
-#: src/tincd.c:231
+#: src/tincd.c:228
 #, fuzzy, c-format
 msgid "Memory exhausted (last is %s:%d) (couldn't allocate %d bytes), exiting."
 msgstr ""
 "Memoria agotada (la última es %s:%d) (no pude asignar %d bytes); terminando."
 
-#: src/tincd.c:286
+#: src/tincd.c:283
 #, fuzzy, c-format
 msgid "tincd %s (%s %s) starting, debug level %d"
 msgstr "tincd %s (%s %s) comenzando, nivel de depuración %d."
 
-#: src/tincd.c:289
+#: src/tincd.c:286
 #, fuzzy, c-format
 msgid "tincd %s starting"
 msgstr "tincd %s comenzando, nivel de depuración %d."
 
-#: src/tincd.c:304
+#: src/tincd.c:301
 #, fuzzy, c-format
 msgid "Total bytes written: tap %d, socket %d; bytes read: tap %d, socket %d"
 msgstr ""
 "Total de bytes escritos: tap %d, socket %d; bytes leidos: tap %d, socket %d."
 
-#: src/tincd.c:322
+#: src/tincd.c:319
 #, c-format
 msgid "A tincd is already running for net `%s' with pid %d.\n"
 msgstr ""
 "Un tincd está actualmente en ejecución para la red `%s' con el pid %d.\n"
 
-#: src/tincd.c:325
+#: src/tincd.c:322
 #, c-format
 msgid "A tincd is already running with pid %d.\n"
 msgstr "Un tincd está actualmente en ejecución con el pid %d.\n"
 
-#: src/tincd.c:346
+#: src/tincd.c:343
 #, c-format
 msgid "No other tincd is running for net `%s'.\n"
 msgstr "No hay ningún otro tincd en ejecución para la red `%s'.\n"
 
-#: src/tincd.c:348
+#: src/tincd.c:345
 msgid "No other tincd is running.\n"
 msgstr "No hay ningún otro tincd en ejecución.\n"
 
-#: src/tincd.c:355
+#: src/tincd.c:352
 msgid "Removing stale lock file.\n"
 msgstr "Borrando fichero de bloqueo en desuso.\n"
 
-#: src/tincd.c:403
+#: src/tincd.c:400
 #, c-format
 msgid "%s version %s (built %s %s, protocol %d)\n"
 msgstr ""
 
-#: src/tincd.c:404
+#: src/tincd.c:401
 #, fuzzy
 msgid ""
 "Copyright (C) 1998,1999,2000 Ivo Timmermans, Guus Sliepen and others.\n"
@@ -845,7 +883,7 @@ msgstr ""
 "y puede ser redistribuido bajo ciertas condiciones;\n"
 "vea el fichero COPYING para los detalles.\n"
 
-#: src/tincd.c:418
+#: src/tincd.c:415
 #, fuzzy
 msgid "You must be root to run this program. Sorry.\n"
 msgstr ""
@@ -860,7 +898,7 @@ msgstr ""
 msgid "Restarting in %d seconds!"
 msgstr ""
 
-#: src/tincd.c:462 src/tincd.c:508
+#: src/tincd.c:462 src/tincd.c:509
 #, fuzzy
 msgid "Not restarting."
 msgstr "tincd %s comenzando, nivel de depuración %d."
@@ -869,51 +907,43 @@ msgstr "tincd %s comenzando, nivel de depuraci
 msgid "Got TERM signal"
 msgstr "Recibí la señal TERM"
 
-#: src/tincd.c:480
+#: src/tincd.c:481
 msgid "Got QUIT signal"
 msgstr "Recibí la señal QUIT"
 
-#: src/tincd.c:487
+#: src/tincd.c:488
 msgid "Got another SEGV signal: not restarting"
 msgstr "Recibí otra señal SEGV: no reinicio"
 
-#: src/tincd.c:494
+#: src/tincd.c:495
 #, fuzzy
 msgid "Got SEGV signal"
 msgstr "Recibí la señal TERM"
 
-#: src/tincd.c:499
+#: src/tincd.c:500
 #, fuzzy
 msgid "Trying to re-execute in 5 seconds..."
 msgstr "Intento re-establecer la conexión saliente en 5 segundos."
 
-#: src/tincd.c:517
+#: src/tincd.c:518
 msgid "Got HUP signal"
 msgstr "Recibí la señal HUP"
 
-#: src/tincd.c:525
+#: src/tincd.c:526
 #, fuzzy
 msgid "Got INT signal, exiting"
 msgstr "Recibí la señal INT"
 
-#: src/tincd.c:549
+#: src/tincd.c:545
 #, fuzzy, c-format
 msgid "Got unexpected signal %d (%s)"
 msgstr "Recibí una señal inesperada (%d)."
 
 #, fuzzy
-#~ msgid "Receiving packet of %d bytes"
-#~ msgstr "Recibiendo clave de "
-
-#, fuzzy
 #~ msgid "Non-IP ethernet frame %04x from %02x:%02x:%02x:%02x:%02x:%02x"
 #~ msgstr "Trama ethernet no-IP %04x de "
 
 #, fuzzy
-#~ msgid "Got bad ANS_KEY from %s (%s) origin %s: invalid key"
-#~ msgstr "recibí una petición ANS_KEY incorrecta: %s"
-
-#, fuzzy
 #~ msgid "Got USR2 signal, forcing new key generation"
 #~ msgstr "Forzando generación de una nueva clave"
 
@@ -929,10 +959,6 @@ msgstr "Recib
 #~ msgid "Illegal passphrase in %s; size would be %d"
 #~ msgstr "Frase de paso ilegal en %s; el tamaño debe ser %d"
 
-#, fuzzy
-#~ msgid "Generating %d bits keys"
-#~ msgstr "Generando claves de %d bits."
-
 #~ msgid "Opening /dev/urandom failed: %m"
 #~ msgstr "Fallo abriendo /dev/urandom : %m"
 
index 9dc5634..aabeee1 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: tinc 1.0pre3\n"
-"POT-Creation-Date: 2000-10-29 02:49+0100\n"
+"POT-Creation-Date: 2000-10-30 01:16+0100\n"
 "PO-Revision-Date: 2000-05-31 20:14+02:00\n"
 "Last-Translator: Guus Sliepen <guus@sliepen.warande.net>\n"
 "Language-Team: Dutch <vertaling@nl.linux.org>\n"
@@ -42,7 +42,7 @@ msgstr ""
 #: src/conf.c:219
 #, c-format
 msgid "Failed to read `%s': %m\n"
-msgstr ""
+msgstr "Gefaald om `%s' te lezen: %m\n"
 
 #: src/meta.c:45
 #, c-format
@@ -54,7 +54,7 @@ msgstr "Verzending %d bytes metadata naar %s (%s): %s"
 msgid "Sending meta data to %s (%s) failed: %m"
 msgstr "Fout tijdens verzenden metadata naar %s (%s): %m"
 
-#: src/meta.c:89 src/net.c:940
+#: src/meta.c:89 src/net.c:974
 #, c-format
 msgid "This is a bug: %s:%d: %d:%m %s (%s)"
 msgstr "Dit is een programmeerfout: %s:%d: %d:%m %s (%s)"
@@ -64,326 +64,340 @@ msgstr "Dit is een programmeerfout: %s:%d: %d:%m %s (%s)"
 msgid "Metadata socket error for %s (%s): %s"
 msgstr "Fout op metadata socket voor %s (%s): %s"
 
-#: src/meta.c:115
+#: src/meta.c:114
 #, c-format
 msgid "Connection closed by %s (%s)"
 msgstr "Verbinding beëindigd door %s (%s)"
 
-#: src/meta.c:119
+#: src/meta.c:118
 #, c-format
 msgid "Metadata socket read error for %s (%s): %m"
 msgstr "Fout op metadata socket voor %s (%s) tijdens lezen: %m"
 
-#: src/meta.c:149
+#: src/meta.c:148
 #, c-format
 msgid "Got request from %s (%s): %s"
 msgstr "Kreeg verzoek van %s (%s): %s"
 
-#: src/meta.c:167
+#: src/meta.c:166
 #, c-format
 msgid "Metadata read buffer overflow for %s (%s)"
 msgstr "Metadata leesbuffer overvol voor %s (%s)"
 
-#: src/net.c:119
+#: src/net.c:127
 #, c-format
 msgid "Sending packet of %d bytes to %s (%s)"
 msgstr "Verzending pakket van %d bytes naar %s (%s)"
 
-#: src/net.c:128
+#: src/net.c:136
 #, c-format
 msgid "Error sending packet to %s (%s): %m"
 msgstr "Fout tijdens verzenden pakket naar %s (%s): %m"
 
-#: src/net.c:160
+#: src/net.c:165
+#, c-format
+msgid "Writing packet of %d bytes to tap device"
+msgstr "Verzending pakket van %d bytes naar tap device"
+
+#: src/net.c:175
 #, c-format
 msgid "Can't write to tun/tap device: %m"
 msgstr "Kan niet naar tun/tap apparaat schrijven: %m"
 
-#: src/net.c:167
+#: src/net.c:182
 #, c-format
 msgid "Can't write to ethertap device: %m"
 msgstr "Kan niet naar ethertap apparaat schrijven: %m"
 
-#: src/net.c:268
+#: src/net.c:283
 msgid "Queue flushed"
 msgstr "Wachtrij leeggemaakt"
 
-#: src/net.c:283
+#: src/net.c:298
 #, c-format
 msgid "Flushing send queue for %s (%s)"
 msgstr "Legen van verzend-wachtrij voor %s (%s)"
 
-#: src/net.c:291
+#: src/net.c:306
 #, c-format
 msgid "Flushing receive queue for %s (%s)"
 msgstr "Legen van de ontvangst-wachtrij voor %s (%s)"
 
-#: src/net.c:310
+#: src/net.c:325
 #, 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!"
 
-#: src/net.c:326
+#: src/net.c:341
 #, c-format
 msgid "Could not open UDP connection to %s (%s)"
 msgstr "Kon geen UDP verbinding openen naar %s (%s)"
 
-#: src/net.c:383
+#: src/net.c:398
 #, c-format
 msgid "Could not open %s: %m"
 msgstr "Kon %s niet openen: %m"
 
-#: src/net.c:410
+#: src/net.c:425
 #, c-format
 msgid "%s is a new style tun/tap device"
 msgstr "%s is een nieuwe stijl tun/tap apparaat"
 
-#: src/net.c:439
+#: src/net.c:454
 #, c-format
 msgid "Creating metasocket failed: %m"
 msgstr "Aanmaak van metasocket mislukt: %m"
 
-#: src/net.c:445 src/net.c:451 src/net.c:513
+#: src/net.c:460 src/net.c:466 src/net.c:528
 #, c-format
 msgid "setsockopt: %m"
 msgstr "setsockopt: %m"
 
-#: src/net.c:458 src/net.c:520
+#: src/net.c:473 src/net.c:535
 #, c-format
 msgid "fcntl: %m"
 msgstr "fcntl: %m"
 
-#: src/net.c:466
+#: src/net.c:481
 #, c-format
 msgid "Unable to bind listen socket to interface %s: %m"
 msgstr "Kon luistersocket niet binden aan interface %s: %m"
 
-#: src/net.c:482
+#: src/net.c:497
 #, c-format
 msgid "Can't bind to port %hd/tcp: %m"
 msgstr "Kan niet aan poort %hd/tcp binden: %m"
 
-#: src/net.c:488
+#: src/net.c:503
 #, c-format
 msgid "listen: %m"
 msgstr "listen: %m"
 
-#: src/net.c:507
+#: src/net.c:522
 #, c-format
 msgid "Creating socket failed: %m"
 msgstr "Aanmaak socket mislukte: %m"
 
-#: src/net.c:531
+#: src/net.c:546
 #, c-format
 msgid "Can't bind to port %hd/udp: %m"
 msgstr "Kan niet aan poort %hd/udp binden: %m"
 
-#: src/net.c:548
+#: src/net.c:563
 #, c-format
 msgid "Trying to connect to %s"
 msgstr "Poging tot verbinding met %s"
 
-#: src/net.c:558
+#: src/net.c:573
 #, c-format
 msgid "Creating socket for %s port %d failed: %m"
 msgstr "Aanmaken socket voor %s poort %d mislukt: %m"
 
-#: src/net.c:569
+#: src/net.c:584
 #, c-format
 msgid "%s port %hd: %m"
 msgstr "%s poort %hd: %m"
 
-#: src/net.c:576
+#: src/net.c:591
 #, c-format
 msgid "fcntl for %s port %d: %m"
 msgstr "fcntl voor %s poort %d: %m"
 
-#: src/net.c:582
+#: src/net.c:597
 #, c-format
 msgid "Connected to %s port %hd"
 msgstr "Verbonden met %s poort %hd"
 
-#: src/net.c:605
+#: src/net.c:620
 msgid "Invalid name for outgoing connection"
 msgstr "Ongelige naam voor uitgaande verbinding"
 
-#: src/net.c:614
+#: src/net.c:629
 #, c-format
 msgid "Error reading host configuration file for %s"
 msgstr "Fout tijdens lezen host configuratie bestand voor %s"
 
-#: src/net.c:621
+#: src/net.c:636
 #, c-format
 msgid "No address specified for %s"
 msgstr "Geen adres gespecificeerd voor %s"
 
-#: src/net.c:628
+#: src/net.c:643
 #, c-format
 msgid "Error looking up `%s': %m"
 msgstr "Fout bij het opzoeken van `%s': %m"
 
-#: src/net.c:638
+#: src/net.c:653
 #, c-format
 msgid "Could not set up a meta connection to %s"
 msgstr "Kon geen metaverbinding aangaan met %s"
 
-#: src/net.c:673
+#: src/net.c:688
 msgid "Name for tinc daemon required!"
 msgstr "Naam voor tinc daemon verplicht!"
 
-#: src/net.c:681
+#: src/net.c:696
 msgid "Invalid name for myself!"
 msgstr "Ongelige naam voor mijzelf!"
 
-#: src/net.c:687
+#: src/net.c:702
 msgid "Private key for tinc daemon required!"
 msgstr "Privé sleutel voor tinc daemon verplicht!"
 
-#: src/net.c:699
+#: src/net.c:714
 msgid "Cannot open host configuration file for myself!"
 msgstr "Kan host configuratie bestand voor mijzelf niet openen!"
 
-#: src/net.c:705
+#: src/net.c:720
 msgid "Public key for tinc daemon required!"
 msgstr "Publieke sleutel voor tinc daemon verplicht!"
 
-#: src/net.c:745
+#: src/net.c:760
 msgid "Network address and subnet mask do not match!"
 msgstr "Netwerk adres en subnet masker komen niet overeen!"
 
-#: src/net.c:754
+#: src/net.c:769
 msgid "Unable to set up a listening socket!"
 msgstr "Kon geen luistersocket aanmaken!"
 
-#: src/net.c:760
+#: src/net.c:775
 msgid "Unable to set up an incoming vpn data socket!"
 msgstr "Kon geen socket maken voor inkomend vpn verkeer!"
 
-#: src/net.c:767
+#: src/net.c:800
 #, c-format
 msgid "Ready: listening on port %hd"
 msgstr "Gereed: luisterend op poort %hd"
 
-#: src/net.c:799
+#: src/net.c:832
 #, 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.c:834 src/net.c:893
+#: src/net.c:867 src/net.c:927
 #, c-format
 msgid "Error while executing %s: %m"
 msgstr "Fout tijdens uitvoeren %s: %m"
 
-#: src/net.c:856
+#: src/net.c:889
 #, c-format
 msgid "Trying to re-establish outgoing connection in %d seconds"
 msgstr "Poging tot herstellen van uitgaande verbinding over %d seconden"
 
-#: src/net.c:903
+#: src/net.c:937
 msgid "Terminating"
 msgstr "Beëindigen"
 
-#: src/net.c:917
+#: src/net.c:951
 #, c-format
 msgid "Opening UDP socket to %s"
 msgstr "Bezig met openen UDP socket naar %s"
 
-#: src/net.c:922
+#: src/net.c:956
 #, c-format
 msgid "Creating UDP socket failed: %m"
 msgstr "Aanmaak UDP socket mislukte: %m"
 
-#: src/net.c:932
+#: src/net.c:966
 #, c-format
 msgid "Connecting to %s port %d failed: %m"
 msgstr "Verbinding naar %s poort %d mislukt: %m"
 
-#: src/net.c:965
+#: src/net.c:999
 #, c-format
 msgid "Error: getpeername: %m"
 msgstr "Fout: getpeername: %m"
 
-#: src/net.c:980
+#: src/net.c:1014
 #, c-format
 msgid "Connection from %s port %d"
 msgstr "Verbinding van %s poort %d"
 
-#: src/net.c:1025
+#: src/net.c:1060
 #, c-format
 msgid "This is a bug: %s:%d: %d:%m"
 msgstr "Dit is een programmeerfout: %s:%d: %d:%m"
 
-#: src/net.c:1031
+#: src/net.c:1066
 #, c-format
 msgid "Incoming data socket error: %s"
 msgstr "Fout op socket voor inkomend verkeer: %s"
 
-#: src/net.c:1037
+#: src/net.c:1072
 #, c-format
 msgid "Receiving packet failed: %m"
 msgstr "Ontvangst pakket mislukt: %m"
 
-#: src/net.c:1068
+#: src/net.c:1078
+#, c-format
+msgid "Received packet of %d bytes"
+msgstr "Ontvangst pakket van %d bytes"
+
+#: src/net.c:1100
 #, c-format
 msgid "Closing connection with %s (%s)"
 msgstr "Beëindigen verbinding met %s (%s)"
 
-#: src/net.c:1108
+#: src/net.c:1136
 msgid "Trying to re-establish outgoing connection in 5 seconds"
 msgstr "Poging tot herstellen van uitgaande verbinding over 5 seconden"
 
-#: src/net.c:1136
+#: src/net.c:1168
 #, c-format
 msgid "%s (%s) didn't respond to PING"
 msgstr "%s (%s) antwoordde niet op ping"
 
-#: src/net.c:1167
+#: src/net.c:1199
 #, c-format
 msgid "Accepting a new connection failed: %m"
 msgstr "Aanname van nieuwe verbinding is mislukt: %m"
 
-#: src/net.c:1175
+#: src/net.c:1207
 msgid "Closed attempted connection"
 msgstr "Aangenomen verbinding verbroken"
 
-#: src/net.c:1208
+#: src/net.c:1240
 #, c-format
 msgid "Outgoing data socket error for %s (%s): %s"
 msgstr "Fout op socket voor uitgaand verkeer voor %s (%s): %s"
 
-#: src/net.c:1244
+#: src/net.c:1276
 #, c-format
 msgid "Error while reading from tun/tap device: %m"
 msgstr "Fout tijdens lezen van tun/tap apparaat: %m"
 
-#: src/net.c:1253
+#: src/net.c:1285
 #, c-format
 msgid "Error while reading from ethertap device: %m"
 msgstr "Fout tijdens lezen van ethertap apparaat: %m"
 
-#: src/net.c:1264
+#: src/net.c:1296
 msgid "Received short packet from tap device"
 msgstr "Kort pakket ontvangen van tap apparaat"
 
-#: src/net.c:1270
+#: src/net.c:1302
 #, c-format
 msgid "Read packet of length %d from tap device"
 msgstr "Pakket gelezen van lengte %d van tap apparaat"
 
-#: src/net.c:1301
+#: src/net.c:1334
 #, c-format
 msgid "Error while waiting for input: %m"
 msgstr "Fout tijdens wachten op invoer: %m"
 
-#: src/net.c:1308
+#: src/net.c:1341
 msgid "Rereading configuration file and restarting in 5 seconds"
 msgstr "Herlezen configuratiebestand en herstart in 5 seconden"
 
-#: src/net.c:1315
+#: src/net.c:1348
 msgid "Unable to reread configuration file, exiting"
 msgstr "Kan configuratiebestand niet herlezen, beëindigen"
 
-#: src/netutl.c:115
+#: src/net.c:1374
+msgid "Regenerating symmetric key"
+msgstr "Hergenereren symmetrische sleutel"
+
+#: src/netutl.c:114
 #, c-format
 msgid "Error looking up `%s': %s\n"
 msgstr "Fout bij het opzoeken van `%s': %s\n"
@@ -453,200 +467,225 @@ msgstr "%s (%s) staat al in onze verbindingslijst"
 msgid "No public key known for %s (%s)"
 msgstr "Geen publieke sleutel bekend voor %s (%s)"
 
-#: src/protocol.c:273
+#: src/protocol.c:269
 #, c-format
 msgid "Generated random challenge (unencrypted): %s"
 msgstr "Uitdaging gegenereerd (niet versleuteld): %s"
 
-#: src/protocol.c:280 src/protocol.c:334
+#: src/protocol.c:276 src/protocol.c:330
 #, c-format
 msgid "Error during encryption of challenge for %s (%s)"
 msgstr "Fout tijdens versleuteling van uitdaging voor %s (%s)"
 
-#: src/protocol.c:306
+#: src/protocol.c:302
 #, c-format
 msgid "Got bad CHALLENGE from %s (%s)"
 msgstr "Kreeg ongeldige CHALLENGE van %s (%s)"
 
-#: src/protocol.c:316
+#: src/protocol.c:312
 #, c-format
 msgid "Intruder: wrong challenge length from %s (%s)"
 msgstr "Indringer: verkeerde lengte voor uitdaging van %s (%s)"
 
-#: src/protocol.c:343
+#: src/protocol.c:339
 #, c-format
 msgid "Received random challenge (unencrypted): %s"
 msgstr "Uitdaging ontvangen (niet versleuteld): %s"
 
-#: src/protocol.c:359
+#: src/protocol.c:355
 #, 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"
 
-#: src/protocol.c:390
+#: src/protocol.c:386
 #, c-format
 msgid "Got bad CHAL_REPLY from %s (%s)"
 msgstr "Kreeg ongeldige CHAL_REPLY van %s (%s)"
 
-#: src/protocol.c:399
+#: src/protocol.c:395
 #, c-format
 msgid "Intruder: wrong challenge reply length from %s (%s)"
 msgstr "Indringer: verkeerde lengte van antwoord op uitdaging van %s (%s)"
 
-#: src/protocol.c:416
+#: src/protocol.c:412
 #, c-format
 msgid "Intruder: wrong challenge reply from %s (%s)"
 msgstr "Indringer: verkeerd antwoord op de uitdaging van %s (%s)"
 
-#: src/protocol.c:421
+#: src/protocol.c:417
 #, c-format
 msgid "Expected challenge reply: %s"
 msgstr "Verwacht antwoord op uitdaging: %s"
 
-#: src/protocol.c:463
+#: src/protocol.c:464
+#, c-format
+msgid "Generated random meta key (unencrypted): %s"
+msgstr "Meta sleutel gegenereerd (niet versleuteld): %s"
+
+#: src/protocol.c:471 src/protocol.c:534
+#, c-format
+msgid "Error during encryption of meta key for %s (%s)"
+msgstr "Fout tijdens versleuteling van meta sleutel voor %s (%s)"
+
+#: src/protocol.c:503
+#, c-format
+msgid "Got bad METAKEY from %s (%s)"
+msgstr "Kreeg ongeldige METAKEY van %s (%s)"
+
+#: src/protocol.c:513
+#, c-format
+msgid "Intruder: wrong meta key length from %s (%s)"
+msgstr "Indringer: verkeerde lengte voor meta sleutel van %s (%s)"
+
+#: src/protocol.c:543
+#, c-format
+msgid "Received random meta key (unencrypted): %s"
+msgstr "Meta sleutel ontvangen (niet versleuteld): %s"
+
+#: src/protocol.c:583
 #, 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"
 
-#: src/protocol.c:476
+#: src/protocol.c:599
 #, c-format
 msgid "Connection with %s (%s) activated"
 msgstr "Verbinding met %s (%s) geactiveerd"
 
-#: src/protocol.c:531
+#: src/protocol.c:654
 #, c-format
 msgid "Got bad ADD_SUBNET from %s (%s)"
 msgstr "Kreeg ongeldige ADD_SUBNET van %s (%s)"
 
-#: src/protocol.c:540
+#: src/protocol.c:663
 #, c-format
 msgid "Got bad ADD_SUBNET from %s (%s): invalid identity name"
 msgstr "Kreeg ongeldige ADD_SUBNET van %s (%s): ongeldige identiteitsnaam"
 
-#: src/protocol.c:549
+#: src/protocol.c:672
 #, c-format
 msgid "Got bad ADD_SUBNET from %s (%s): invalid subnet string"
 msgstr "Kreeg ongeldige ADD_SUBNET van %s (%s): ongeldig subnet"
 
-#: src/protocol.c:560
+#: src/protocol.c:683
 #, c-format
 msgid "Warning: got ADD_SUBNET from %s (%s) for ourself, restarting"
 msgstr "Waarschuwing: kreeg ADD_SUBNET van %s (%s) voor onszelf, herstart"
 
-#: src/protocol.c:571
+#: src/protocol.c:694
 #, c-format
 msgid "Got ADD_SUBNET for %s from %s (%s) which is not in our connection list"
 msgstr ""
 "Kreeg ADD_SUBNET voor %d.%d.%d.%d van %s (%s) die niet voorkomt in onze "
 "verbindingslijst"
 
-#: src/protocol.c:611
+#: src/protocol.c:734
 #, c-format
 msgid "Got bad DEL_SUBNET from %s (%s)"
 msgstr "Kreeg ongeldige DEL_SUBNET van %s (%s)"
 
-#: src/protocol.c:620
+#: src/protocol.c:743
 #, c-format
 msgid "Got bad DEL_SUBNET from %s (%s): invalid identity name"
 msgstr "Kreeg ongeldige DEL_SUBNET van %s (%s): ongeldige identiteitsnaam"
 
-#: src/protocol.c:629
+#: src/protocol.c:752
 #, c-format
 msgid "Got bad DEL_SUBNET from %s (%s): invalid subnet string"
 msgstr "Kreeg ongeldige DEL_SUBNET van %s (%s): ongeldige identiteitsnaam"
 
-#: src/protocol.c:640
+#: src/protocol.c:763
 #, c-format
 msgid "Warning: got DEL_SUBNET from %s (%s) for ourself, restarting"
 msgstr "Waarschuwing: kreeg DEL_SUBNET van %s (%s) voor onszelf, herstart"
 
-#: src/protocol.c:651
+#: src/protocol.c:774
 #, 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"
 
-#: src/protocol.c:688
+#: src/protocol.c:811
 #, c-format
 msgid "Got bad ADD_HOST from %s (%s)"
 msgstr "Kreeg ongeldige ADD_HOST van %s (%s)"
 
-#: src/protocol.c:696
+#: src/protocol.c:819
 #, c-format
 msgid "Got bad ADD_HOST from %s (%s): invalid identity name"
 msgstr "Kreeg ongeldige ADD_HOST van %s (%s): ongeldige identiteitsnaam"
 
-#: src/protocol.c:705
+#: src/protocol.c:828
 #, c-format
 msgid "Warning: got ADD_HOST from %s (%s) for ourself, restarting"
 msgstr "Waarschuwing: kreeg ADD_HOST van %s (%s) voor onszelf, herstart"
 
-#: src/protocol.c:722
+#: src/protocol.c:845
 #, 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)"
 
-#: src/protocol.c:730
+#: src/protocol.c:853
 #, c-format
 msgid "Removing old entry for %s (%s) in favour of new connection"
 msgstr ""
 "Verwijdering oude verbinding voor %s (%s) in voordeel van nieuwe verbinding"
 
-#: src/protocol.c:773
+#: src/protocol.c:896
 #, c-format
 msgid "Got bad DEL_HOST from %s (%s)"
 msgstr "Kreeg ongeldige DEL_HOST van %s (%s)"
 
-#: src/protocol.c:782
+#: src/protocol.c:905
 #, c-format
 msgid "Got bad DEL_HOST from %s (%s): invalid identity name"
 msgstr "Kreeg ongeldige DEL_HOST van %s (%s): ongeldige identiteitsnaam"
 
-#: src/protocol.c:791
+#: src/protocol.c:914
 #, c-format
 msgid "Warning: got DEL_HOST from %s (%s) for ourself, restarting"
 msgstr "Waarschuwing: kreeg DEL_HOST van %s (%s) voor onszelf, herstart"
 
-#: src/protocol.c:802
+#: src/protocol.c:925
 #, c-format
 msgid "Got DEL_HOST from %s (%s) for %s which is not in our connection list"
 msgstr ""
 "Kreeg DEL_HOST van %s (%s) voor %s die niet in onze verbindingslijst voorkomt"
 
-#: src/protocol.c:812
+#: src/protocol.c:935
 #, 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"
 
-#: src/protocol.c:848
+#: src/protocol.c:971
 #, c-format
 msgid "Got bad STATUS from %s (%s)"
 msgstr "Kreeg ongeldige STATUS van %s (%s)"
 
-#: src/protocol.c:855
+#: src/protocol.c:978
 #, c-format
 msgid "Status message from %s (%s): %s: %s"
 msgstr "Ontving statusbericht van %s (%s): %s: %s"
 
-#: src/protocol.c:879
+#: src/protocol.c:1002
 #, c-format
 msgid "Got bad ERROR from %s (%s)"
 msgstr "Kreeg ongeldige ERROR van %s (%s)"
 
-#: src/protocol.c:886
+#: src/protocol.c:1009
 #, c-format
 msgid "Error message from %s (%s): %s: %s"
 msgstr "Ontving foutmelding van %s (%s): %s: %s"
 
-#: src/protocol.c:962
+#: src/protocol.c:1085
 #, c-format
 msgid "Got bad KEY_CHANGED from %s (%s)"
 msgstr "Kreeg ongeldige KEY_CHANGED van %s (%s)"
 
-#: src/protocol.c:969
+#: src/protocol.c:1092
 #, c-format
 msgid ""
 "Got KEY_CHANGED from %s (%s) origin %s which does not exist in our "
@@ -655,12 +694,12 @@ msgstr ""
 "Kreeg KEY_CHANGED van %s (%s) herkomst %s die niet in onze verbindingslijst "
 "voorkomt"
 
-#: src/protocol.c:999
+#: src/protocol.c:1123
 #, c-format
 msgid "Got bad REQ_KEY from %s (%s)"
 msgstr "Kreeg ongeldige REQ_KEY van %s (%s)"
 
-#: src/protocol.c:1006
+#: src/protocol.c:1130
 #, c-format
 msgid ""
 "Got REQ_KEY from %s (%s) origin %s which does not exist in our connection "
@@ -669,7 +708,7 @@ msgstr ""
 "Kreeg REQ_KEY van %s (%s) herkomst %s die niet in onze verbindingslijst "
 "voorkomt"
 
-#: src/protocol.c:1022
+#: src/protocol.c:1148
 #, c-format
 msgid ""
 "Got REQ_KEY from %s (%s) destination %s which does not exist in our "
@@ -677,12 +716,12 @@ msgid ""
 msgstr ""
 "Kreeg REQ_KEY van %s (%s) doel %s die niet in onze verbindingslijst voorkomt"
 
-#: src/protocol.c:1050
+#: src/protocol.c:1184
 #, c-format
 msgid "Got bad ANS_KEY from %s (%s)"
 msgstr "Kreeg ongeldige ANS_KEY van %s (%s)"
 
-#: src/protocol.c:1057
+#: src/protocol.c:1191
 #, c-format
 msgid ""
 "Got ANS_KEY from %s (%s) origin %s which does not exist in our connection "
@@ -691,7 +730,13 @@ msgstr ""
 "Kreeg ANS_KEY van %s (%s) herkomst %s die niet in onze verbindingslijst "
 "voorkomt"
 
-#: src/protocol.c:1091
+#: src/protocol.c:1203
+#, c-format
+msgid "Got bad ANS_KEY from %s (%s) origin %s: invalid key length"
+msgstr ""
+"Kreeg ongeldige ADD_KEY van %s (%s) herkomst %s: ongeldige sleutellengte"
+
+#: src/protocol.c:1224
 #, c-format
 msgid ""
 "Got ANS_KEY from %s (%s) destination %s which does not exist in our "
@@ -700,7 +745,7 @@ msgstr ""
 "Kreeg ANS_KEY van %s (%s) doel %s die niet in onze verbindingslijst voorkomt"
 
 #. Do some intl stuff right now
-#: src/subnet.c:242 src/tincd.c:397
+#: src/subnet.c:242 src/tincd.c:394
 msgid "unknown"
 msgstr "onbekend"
 
@@ -728,28 +773,29 @@ msgstr ""
 
 #: src/tincd.c:105
 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"
+"  -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"
 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"
+"  -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"
 
 #: src/tincd.c:110
 msgid ""
-"  -K, --keygen[=BITS]   Generate public/private RSA keypair.\n"
-"      --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 ""
-"  -K, --keygen[=BITS]   Genereer publiek/privé RSA sleutelpaar.\n"
-"      --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:113
@@ -764,28 +810,19 @@ msgstr ""
 "Ongeldig argument! BITS moet een nummer zijn gelijk aan of groter dan 512.\n"
 
 #: src/tincd.c:208
-msgid ""
-"Seeding the PRNG: please press some keys or move\n"
-"the mouse if this program seems to have halted...\n"
-msgstr ""
-"Initialisatie van PRNG: druk op de toetsen of beweeg\n"
-"de muis als het programma gestopt lijkt te zijn...\n"
-
-#. OpenSSL PRNG state apparently uses 1024 bytes, but it seems pretty sufficient anyway :)
-#: src/tincd.c:211
 #, c-format
 msgid "Generating %d bits keys:\n"
 msgstr "Bezig met genereren van een %d bits sleutel:\n"
 
-#: src/tincd.c:215
+#: src/tincd.c:212
 msgid "Error during key generation!"
 msgstr "Fout tijdens genereren sleutel!"
 
-#: src/tincd.c:219
+#: src/tincd.c:216
 msgid "Done.\n"
 msgstr "Klaar.\n"
 
-#: src/tincd.c:221
+#: src/tincd.c:218
 msgid ""
 "Please copy the private key to tinc.conf and the\n"
 "public key to your host configuration file:\n"
@@ -795,58 +832,58 @@ msgstr ""
 "publieke sleutel naar het host configuratie bestand:\n"
 "\n"
 
-#: src/tincd.c:231
+#: src/tincd.c:228
 #, c-format
 msgid "Memory exhausted (last is %s:%d) (couldn't allocate %d bytes), exiting."
 msgstr ""
 "Geheugen is vol (laatste %s:%d) (kon geen %d bytes vrijmaken), beëindigen."
 
-#: src/tincd.c:286
+#: src/tincd.c:283
 #, c-format
 msgid "tincd %s (%s %s) starting, debug level %d"
 msgstr "tincd %s (%s %s) gestart, debugniveau %d"
 
-#: src/tincd.c:289
+#: src/tincd.c:286
 #, c-format
 msgid "tincd %s starting"
 msgstr "tincd %s gestart"
 
-#: src/tincd.c:304
+#: src/tincd.c:301
 #, c-format
 msgid "Total bytes written: tap %d, socket %d; bytes read: tap %d, socket %d"
 msgstr ""
 "Totaal aantal bytes geschreven: tap %d, socket %d; bytes gelezen: top %d, "
 "socket %d."
 
-#: src/tincd.c:322
+#: src/tincd.c:319
 #, 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"
 
-#: src/tincd.c:325
+#: src/tincd.c:322
 #, c-format
 msgid "A tincd is already running with pid %d.\n"
 msgstr "Een tincd draait al met procesnummer %d.\n"
 
-#: src/tincd.c:346
+#: src/tincd.c:343
 #, c-format
 msgid "No other tincd is running for net `%s'.\n"
 msgstr "Geen andere tincd gevonden voor net `%s'.\n"
 
-#: src/tincd.c:348
+#: src/tincd.c:345
 msgid "No other tincd is running.\n"
 msgstr "Geen andere tincd gevonden.\n"
 
-#: src/tincd.c:355
+#: src/tincd.c:352
 msgid "Removing stale lock file.\n"
 msgstr "Ongebruikt vergrendelingsbestand verwijderd.\n"
 
-#: src/tincd.c:403
+#: src/tincd.c:400
 #, 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:404
+#: src/tincd.c:401
 msgid ""
 "Copyright (C) 1998,1999,2000 Ivo Timmermans, Guus Sliepen and others.\n"
 "See the AUTHORS file for a complete list.\n"
@@ -863,7 +900,7 @@ msgstr ""
 "en je bent welkom om het te distribueren onder bepaalde voorwaarden;\n"
 "zie het bestand COPYING voor details.\n"
 
-#: src/tincd.c:418
+#: src/tincd.c:415
 msgid "You must be root to run this program. Sorry.\n"
 msgstr ""
 "Je moet systeembeheerder zijn om dit programma te kunnen draaien. Sorry.\n"
@@ -877,7 +914,7 @@ msgstr "Onherstelbare fout"
 msgid "Restarting in %d seconds!"
 msgstr "Herstart in %d seconden!"
 
-#: src/tincd.c:462 src/tincd.c:508
+#: src/tincd.c:462 src/tincd.c:509
 msgid "Not restarting."
 msgstr "Geen herstart."
 
@@ -885,31 +922,31 @@ msgstr "Geen herstart."
 msgid "Got TERM signal"
 msgstr "Kreeg TERM signaal"
 
-#: src/tincd.c:480
+#: src/tincd.c:481
 msgid "Got QUIT signal"
 msgstr "Kreeg QUIT signaal"
 
-#: src/tincd.c:487
+#: src/tincd.c:488
 msgid "Got another SEGV signal: not restarting"
 msgstr "Kreeg nog een SEGV signaal: niet herstarten"
 
-#: src/tincd.c:494
+#: src/tincd.c:495
 msgid "Got SEGV signal"
 msgstr "Kreeg SEGV signaal"
 
-#: src/tincd.c:499
+#: src/tincd.c:500
 msgid "Trying to re-execute in 5 seconds..."
 msgstr "Poging tot herstaren over 5 seconden..."
 
-#: src/tincd.c:517
+#: src/tincd.c:518
 msgid "Got HUP signal"
 msgstr "Kreeg HUP signaal"
 
-#: src/tincd.c:525
+#: src/tincd.c:526
 msgid "Got INT signal, exiting"
 msgstr "Kreeg INT signaal, beëindigen"
 
-#: src/tincd.c:549
+#: src/tincd.c:545
 #, c-format
 msgid "Got unexpected signal %d (%s)"
 msgstr "Kreeg onverwacht signaal %d (%s)"
index 5450b9a..9376ec3 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -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,v 1.35.4.55 2000/10/29 22:10:42 guus Exp $
+    $Id: net.c,v 1.35.4.56 2000/10/30 00:22:53 guus Exp $
 */
 
 #include "config.h"
@@ -162,7 +162,7 @@ cp
 */
      
   if(debug_lvl >= DEBUG_TRAFFIC)
-    syslog(LOG_ERR, _("Writing packet of %d (%d) bytes to tap device"),
+    syslog(LOG_ERR, _("Writing packet of %d bytes to tap device"),
            outpkt.len, outlen);
 
   /* Fix mac address */
index ba17b30..dac3dbc 100644 (file)
@@ -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,v 1.10.4.21 2000/10/29 22:55:15 guus Exp $
+    $Id: tincd.c,v 1.10.4.22 2000/10/30 00:22:54 guus Exp $
 */
 
 #include "config.h"
@@ -102,14 +102,14 @@ usage(int status)
   else
     {
       printf(_("Usage: %s [option]...\n\n"), program_name);
-      printf(_("  -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"));
-      printf(_("  -K, --keygen[=BITS]   Generate public/private RSA keypair.\n"
-               "      --help            Display this help and exit.\n"
-              "      --version         Output version information and exit.\n\n"));
+      printf(_("  -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"));
+      printf(_("  -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"));
       printf(_("Report bugs to tinc@nl.linux.org.\n"));
     }
   exit(status);
@@ -537,11 +537,6 @@ RETSIGTYPE
 sigusr2_handler(int a)
 {
   dump_subnet_list();
-/* FIXME: reprogram this.
-  if(debug_lvl > DEBUG_NOTHING)
-   syslog(LOG_NOTICE, _("Got USR2 signal, forcing new key generation"));
-  regenerate_keys();
-*/
 }
 
 RETSIGTYPE