- Made Makefile.am stub for doc/es/

- Merged genauth into tincd
- Updated dutch translation
This commit is contained in:
Guus Sliepen 2000-10-20 16:49:20 +00:00
parent 9f64499e40
commit fba19c30c9
9 changed files with 711 additions and 477 deletions

3
doc/es/Makefile.am Normal file
View file

@ -0,0 +1,3 @@
## Process this file with automake to get Makefile.in
# Nothing to see here, go away!

146
lib/list.c Normal file
View file

@ -0,0 +1,146 @@
/*
list.c -- functions to deal with double linked lists
Copyright (C) 2000 Ivo Timmermans <itimmermans@bigfoot.com>
2000 Guus Sliepen <guus@sliepen.warande.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: list.c,v 1.1 2000/10/20 16:44:32 zarq Exp $
*/
#include "config.h"
#include <string.h>
#include <error.h>
#include <list.h>
#include <xalloc.h>
#include <system.h>
/*
list_new
Initialize a new list.
*/
list_t *list_new(void)
{
list_t *list;
list = xmalloc_and_zero(sizeof(list_t));
return list;
}
/*
list_delete
Delete the element pointed to by idx from the list.
*/
list_node_t *list_delete(list_t *list, list_node_t *idx)
{
list_node_t *res;
if(!list)
return NULL;
if(!idx)
return NULL;
if(list->callbacks->delete != NULL)
if(list->callbacks->delete(idx->data))
error(ERR_WARNING, N_("List callback[delete] failed for %08lx - freeing anyway"), idx->data);
free(idx->data);
if(idx->prev == NULL)
/* First element in list */
{
res = idx->next;
list->head = idx->next;
}
if(idx->next == NULL)
/* Last element in list */
{
res = NULL;
list->tail = idx->prev;
}
if(idx->prev != NULL && idx->next != NULL)
/* Neither first nor last element */
{
idx->prev->next = idx->next;
idx->next->prev = idx->prev;
}
if(list->head == NULL)
list->tail = NULL;
else
if(list->tail == NULL)
list->head = NULL;
free(idx);
return res;
}
/*
list_forall_nodes
Call function() on each element in the list. If this function
returns non-zero, the element will be removed from the list.
*/
void list_forall_nodes(list_t *list, int (*function)(void *data))
{
list_node_t *p;
int res;
if(!list) /* no list given */
return;
if(!function) /* no function given */
return;
if(!list->head) /* list is empty */
return;
for(p = list->head; p != NULL; p = p->next)
{
res = function(p->data);
if(res != 0)
p = list_delete(list, p);
}
}
/*
list_destroy
Free all datastructures contained in this list. It uses the delete
callback for this list to free each element.
*/
void list_destroy(list_t *list)
{
if(!list)
return;
list_destroy_nodes(list);
free(list);
}
/*
list_append
Append a new node to the list that points to data.
*/
list_append(list_t *list, void *data)
{
list_node_t *n;
n = xmalloc_and_zero(sizeof(list_node_t));
n->data = data;
n->prev = list->tail;
list->tail->next = n;
list->tail = n;
}

44
lib/list.h Normal file
View file

@ -0,0 +1,44 @@
/*
list.h -- header file for list.c
Copyright (C) 2000 Ivo Timmermans <itimmermans@bigfoot.com>
2000 Guus Sliepen <guus@sliepen.warande.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: list.h,v 1.1 2000/10/20 16:44:32 zarq Exp $
*/
#ifndef __TINC_LIST_H__
#define __TINC_LIST_H__
typedef struct list_callbacks_t {
int (*delete) (void *);
} list_callbacks_t;
typedef struct list_node_t {
void *data;
struct list_node_t *prev;
struct list_node_t *next;
} list_node_t;
typedef struct list_t {
list_node_t *head;
list_node_t *tail;
list_callbacks_t *callbacks;
} list_t;
#endif /* __TINC_LIST_H__ */

View file

@ -6,7 +6,6 @@
lib/pidfile.c
lib/utils.c
src/conf.c
src/genauth.c
src/meta.c
src/net.c
src/netutl.c

386
po/es.po
View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: tinc 1.0pre2\n"
"POT-Creation-Date: 2000-10-15 02:53+0200\n"
"POT-Creation-Date: 2000-10-20 18:35+0200\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"
@ -33,37 +33,6 @@ msgstr ""
msgid "Invalid value for variable on line %d while reading config file %s"
msgstr ""
#: src/genauth.c:78
#, c-format
msgid "Usage: %s bits\n"
msgstr "Uso: %s bits\n"
#: src/genauth.c:89
#, c-format
msgid "Illegal number: %s\n"
msgstr "Número ilegal: %s\n"
#. Align to bytes for easy mallocing and reading
#: src/genauth.c:95
#, fuzzy, c-format
msgid "Generating %d bits keys:\n"
msgstr "Generando claves de %d bits."
#: src/genauth.c:99
#, fuzzy
msgid "Done.\n"
msgstr ": hecho.\n"
#: src/genauth.c:101
#, c-format
msgid "Public key:\t%s\n"
msgstr ""
#: src/genauth.c:102
#, c-format
msgid "Private key:\t%s\n"
msgstr ""
#: src/meta.c:42
#, fuzzy, c-format
msgid "Sending %d bytes of metadata to %s (%s): %s"
@ -74,7 +43,7 @@ msgstr "Enviados %d bytes a %lx"
msgid "Sending meta data to %s (%s) failed: %m"
msgstr "Error enviando datos: %m"
#: src/meta.c:85 src/net.c:773
#: src/meta.c:85 src/net.c:847
#, fuzzy, c-format
msgid "This is a bug: %s:%d: %d:%m %s (%s)"
msgstr "Esto es un `bug': %s:%d: %d:%m"
@ -104,278 +73,300 @@ msgstr "Petici
msgid "Metadata read buffer overflow for %s (%s)"
msgstr "Desbordamiento del búfer de lectura de metadatos"
#: src/net.c:106
#: src/net.c:107
#, fuzzy, c-format
msgid "Sending packet of %d bytes to %s (%s)"
msgstr "Enviados %d bytes a %lx"
#: src/net.c:115
#: src/net.c:116
#, fuzzy, c-format
msgid "Error sending packet to %s (%s): %m"
msgstr "Error enviando datos: %m"
#: src/net.c:129
#: src/net.c:130
#, fuzzy, c-format
msgid "Receiving packet of %d bytes"
msgstr "Recibiendo clave de "
#: src/net.c:142
#: src/net.c:143
#, c-format
msgid "Can't write to tap device: %m"
msgstr "No puedo escribir en el dispositivo tap: %m"
#: src/net.c:242
#: src/net.c:243
#, fuzzy
msgid "Queue flushed"
msgstr "cola vaciada"
#: src/net.c:257
#: src/net.c:258
#, fuzzy, c-format
msgid "Flushing send queue for %s (%s)"
msgstr "Vaciando la cola de envíos para "
#: src/net.c:265
#: src/net.c:266
#, fuzzy, c-format
msgid "Flushing receive queue for %s (%s)"
msgstr "Vaciando la cola de recepción para "
#: src/net.c:283
#: src/net.c:284
#, c-format
msgid "Trying to look up %d.%d.%d.%d in connection list failed!"
msgstr ""
#: src/net.c:297
#: src/net.c:298
#, fuzzy, c-format
msgid "Could not open UDP connection to %s (%s)"
msgstr "No pude abrir %s: %s\n"
#: src/net.c:305
#: src/net.c:306
#, c-format
msgid "No valid key known yet for %s (%s), queueing packet"
msgstr ""
#: src/net.c:316
#: src/net.c:317
#, c-format
msgid "%s (%s) is not ready, queueing packet"
msgstr ""
#: src/net.c:344
#: src/net.c:352
#, c-format
msgid "Could not open %s: %m"
msgstr "No pude abrir %s: %m"
#: src/net.c:360
#: src/net.c:370
#, c-format
msgid "%s is a new style tun/tap device"
msgstr ""
#: src/net.c:362
#: src/net.c:373
msgid "tun/tap device will be left unconfigured"
msgstr ""
#: src/net.c:384
#: src/net.c:396
#, c-format
msgid "Creating metasocket failed: %m"
msgstr "Fallo al crear el metasocket: %m"
#: src/net.c:390 src/net.c:396 src/net.c:458
#: src/net.c:402 src/net.c:408 src/net.c:470
#, c-format
msgid "setsockopt: %m"
msgstr "setsockopt(): %m"
#: src/net.c:403 src/net.c:465
#: src/net.c:415 src/net.c:477
#, c-format
msgid "fcntl: %m"
msgstr "fcntl(): %m"
#: src/net.c:411
#: src/net.c:423
#, c-format
msgid "Unable to bind listen socket to interface %s: %m"
msgstr ""
#: src/net.c:427
#: src/net.c:439
#, 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:433
#: src/net.c:445
#, c-format
msgid "listen: %m"
msgstr "listen(): %m"
#: src/net.c:452
#: src/net.c:464
#, c-format
msgid "Creating socket failed: %m"
msgstr "Error al crear el `socket': %m"
#: src/net.c:476
#: src/net.c:488
#, 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:493
#: src/net.c:505
#, fuzzy, c-format
msgid "Trying to connect to %s"
msgstr "Cerrando conexión con %s."
#: src/net.c:503
#: src/net.c:515
#, fuzzy, c-format
msgid "Creating socket for %s port %d failed: %m"
msgstr "Error al crear el `socket': %m"
#: src/net.c:514
#: src/net.c:526
#, c-format
msgid "%s port %hd: %m"
msgstr ""
#: src/net.c:521
#: src/net.c:533
#, c-format
msgid "fcntl for %s port %d: %m"
msgstr ""
#: src/net.c:527
#: src/net.c:539
#, fuzzy, c-format
msgid "Connected to %s port %hd"
msgstr "Conectado a %s:%hd"
#: src/net.c:547
#: src/net.c:562
msgid "Invalid name for outgoing connection"
msgstr ""
#: src/net.c:571
#, c-format
msgid "Error reading host configuration file for %s"
msgstr ""
#: src/net.c:578
#, c-format
msgid "No address specified for %s"
msgstr ""
#: src/net.c:585
#, fuzzy, c-format
msgid "Error looking up `%s': %m"
msgstr "Error buscando `%s': %s\n"
#: src/net.c:557
#: src/net.c:595
#, 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:586
#: src/net.c:629
msgid "Name for tinc daemon required!"
msgstr ""
#: src/net.c:594
#: src/net.c:637
msgid "Invalid name for myself!"
msgstr ""
#: src/net.c:600
#: src/net.c:643
msgid "Private key for tinc daemon required!"
msgstr ""
#: src/net.c:655
msgid "Cannot open host configuration file for myself!"
msgstr ""
#: src/net.c:619
#: src/net.c:661
msgid "Public key for tinc daemon required!"
msgstr ""
#: src/net.c:690
#, fuzzy
msgid "Unable to set up a listening socket!"
msgstr "No puedo configurar un `socket' a la escucha"
#: src/net.c:625
#: src/net.c:696
#, 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:632
#: src/net.c:703
#, fuzzy, c-format
msgid "Ready: listening on port %hd"
msgstr "Listo: escuchando en el puerto %d."
#: src/net.c:660
#: src/net.c:734
#, 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:698
#: src/net.c:772
#, 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:736
#: src/net.c:810
#, fuzzy
msgid "Terminating"
msgstr "Terminando."
#: src/net.c:750
#: src/net.c:824
#, fuzzy, c-format
msgid "Opening UDP socket to %s"
msgstr "Abriendo `socket' UDP a "
#: src/net.c:755
#: src/net.c:829
#, fuzzy, c-format
msgid "Creating UDP socket failed: %m"
msgstr "Error al crear el `socket': %m"
#: src/net.c:765
#: src/net.c:839
#, fuzzy, c-format
msgid "Connecting to %s port %d failed: %m"
msgstr "Error al crear `socket' de datos: %m"
#: src/net.c:798
#: src/net.c:872
#, c-format
msgid "Error: getpeername: %m"
msgstr "Error: getpeername(): %m"
#: src/net.c:813
#: src/net.c:887
#, fuzzy, c-format
msgid "Connection from %s port %d"
msgstr "Conexión desde %s:%d"
#: src/net.c:861
#: src/net.c:931
#, fuzzy, c-format
msgid "This is a bug: %s:%d: %d:%m"
msgstr "Esto es un `bug': %s:%d: %d:%m"
#: src/net.c:867
#: src/net.c:937
#, fuzzy, c-format
msgid "Incoming data socket error: %s"
msgstr "Error en el `socket' de recepción de datos: %s"
#: src/net.c:873
#: src/net.c:943
#, fuzzy, c-format
msgid "Receiving packet failed: %m"
msgstr "Error recibiendo datos: %m"
#: src/net.c:894
#: src/net.c:964
#, fuzzy, c-format
msgid "Closing connection with %s (%s)"
msgstr "Cerrando conexión con %s."
#: src/net.c:937
#: src/net.c:1007
#, 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:967
#: src/net.c:1037
#, c-format
msgid "%s (%s) didn't respond to PING"
msgstr ""
#: src/net.c:998
#: src/net.c:1068
#, c-format
msgid "Accepting a new connection failed: %m"
msgstr "Error al aceptar una nueva conexión: %m"
#: src/net.c:1006
#: src/net.c:1076
#, fuzzy
msgid "Closed attempted connection"
msgstr "Se ha cerrado la conexión que se intentaba realizar."
#: src/net.c:1041
#: src/net.c:1111
#, fuzzy, c-format
msgid "Outgoing data socket error for %s (%s): %s"
msgstr "Error en el `socket' de datos salientes: %s"
#: src/net.c:1077
#: src/net.c:1150 src/net.c:1159
#, c-format
msgid "Error while reading from tapdevice: %m"
msgstr "Error leyendo del dispositivo tap: %m"
#: src/net.c:1087
#: src/net.c:1171
#, fuzzy, c-format
msgid "Non-IP ethernet frame %04x from %02x:%02x:%02x:%02x:%02x:%02x"
msgstr "Trama ethernet no-IP %04x de "
#: src/net.c:1094
#: src/net.c:1178
#, c-format
msgid "Dropping short packet from %02x:%02x:%02x:%02x:%02x:%02x"
msgstr ""
#: src/net.c:1133
#: src/net.c:1213
#, c-format
msgid "Error while waiting for input: %m"
msgstr "Error esperando entrada: %m"
@ -415,275 +406,285 @@ msgstr "Error al procesar la petici
msgid "Bogus data received from %s (%s)"
msgstr "Se han recibido datos sin sentido."
#: src/protocol.c:167
#: src/protocol.c:170
#, fuzzy, c-format
msgid "Got bad ID from %s"
msgstr "recibí una petición BASIC_INFO incorrecta: %s"
#: src/protocol.c:175
#: src/protocol.c:178
#, fuzzy, c-format
msgid "Peer %s (%s) uses incompatible version %d"
msgstr ""
"La máquina remota usa una versión incompatible del protocolo (versión %d)."
#: src/protocol.c:184
#: src/protocol.c:187
#, c-format
msgid "Peer %s uses invalid identity name"
msgstr ""
#: src/protocol.c:192
#: src/protocol.c:195
#, c-format
msgid "Peer %s had unknown identity (%s)"
msgstr ""
#: src/protocol.c:207
#: src/protocol.c:209
#, c-format
msgid "Uplink %s (%s) is already in our connection list"
msgstr ""
#: src/protocol.c:253
#: src/protocol.c:219
#, c-format
msgid "No public key known for %s (%s)"
msgstr ""
#: src/protocol.c:258 src/protocol.c:312
#, c-format
msgid "Error during encryption of challenge for %s (%s)"
msgstr ""
#: src/protocol.c:284
#, fuzzy, c-format
msgid "Got bad CHALLENGE from %s (%s)"
msgstr "recibí KEY_CHANGED de "
#: src/protocol.c:261
#: src/protocol.c:294
#, c-format
msgid "Intruder: wrong challenge length from %s (%s)"
msgstr ""
#: src/protocol.c:287
#: src/protocol.c:330
#, c-format
msgid "Trying to send CHAL_REPLY to %s (%s) without a valid CHALLENGE"
msgstr ""
#: src/protocol.c:318
#: src/protocol.c:361
#, fuzzy, c-format
msgid "Got bad CHAL_REPLY from %s (%s)"
msgstr "recibí una petición ANS_KEY incorrecta: %s"
#: src/protocol.c:327
#: src/protocol.c:370
#, c-format
msgid "Intruder: wrong challenge reply length from %s (%s)"
msgstr ""
#: src/protocol.c:344
#: src/protocol.c:387
#, c-format
msgid "Intruder: wrong challenge reply from %s (%s)"
msgstr ""
#: src/protocol.c:386
#: src/protocol.c:425
#, c-format
msgid "Removing old entry for %s at %s in favour of new connection from %s"
msgstr ""
#: src/protocol.c:398
#: src/protocol.c:437
#, fuzzy, c-format
msgid "Connection with %s (%s) activated"
msgstr "Activada la conexión con %s."
#: src/protocol.c:438
#: src/protocol.c:477
#, fuzzy, c-format
msgid "Got bad ADD_SUBNET from %s (%s)"
msgstr "recibí una petición ADD_HOST incorrecta: %s"
#: src/protocol.c:447
#: src/protocol.c:486
#, 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:456
#: src/protocol.c:495
#, 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:467
#: src/protocol.c:506
#, c-format
msgid "Warning: got ADD_SUBNET from %s (%s) for ourself, restarting"
msgstr ""
#: src/protocol.c:478
#: src/protocol.c:517
#, c-format
msgid "Got ADD_SUBNET for %s from %s (%s) which is not in our connection list"
msgstr ""
#: src/protocol.c:506
#: src/protocol.c:545
#, fuzzy, c-format
msgid "Got bad DEL_SUBNET from %s (%s)"
msgstr "recibí una petición DEL_HOST incorrecta: %s"
#: src/protocol.c:515
#: src/protocol.c:554
#, 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:524
#: src/protocol.c:563
#, 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:535
#: src/protocol.c:574
#, c-format
msgid "Warning: got DEL_SUBNET from %s (%s) for ourself, restarting"
msgstr ""
#: src/protocol.c:546
#: src/protocol.c:585
#, c-format
msgid "Got DEL_SUBNET for %s from %s (%s) which is not in our connection list"
msgstr ""
#: src/protocol.c:577
#: src/protocol.c:616
#, fuzzy, c-format
msgid "Got bad ADD_HOST from %s (%s)"
msgstr "recibí una petición ADD_HOST incorrecta: %s"
#: src/protocol.c:585
#: src/protocol.c:624
#, 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:594
#: src/protocol.c:633
#, c-format
msgid "Warning: got ADD_HOST from %s (%s) for ourself, restarting"
msgstr ""
#: src/protocol.c:604
#: src/protocol.c:643
#, c-format
msgid "Warning: got ADD_HOST from %s (%s) from ourself, restarting"
msgstr ""
#: src/protocol.c:614
#: src/protocol.c:653
#, c-format
msgid ""
"Got ADD_HOST from %s (%s) with origin %s which is not in our connection list"
msgstr ""
#: src/protocol.c:633
#: src/protocol.c:672
#, c-format
msgid "Got duplicate ADD_HOST for %s (%s) from %s (%s)"
msgstr ""
#: src/protocol.c:640
#: src/protocol.c:679
#, c-format
msgid "Removing old entry for %s (%s)"
msgstr ""
#: src/protocol.c:683
#: src/protocol.c:722
#, fuzzy, c-format
msgid "Got bad DEL_HOST from %s (%s)"
msgstr "recibí una petición DEL_HOST incorrecta: %s"
#: src/protocol.c:692
#: src/protocol.c:731
#, 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:701
#: src/protocol.c:740
#, c-format
msgid "Warning: got DEL_HOST from %s (%s) for ourself, restarting"
msgstr ""
#: src/protocol.c:712
#: src/protocol.c:751
#, c-format
msgid "Warning: got DEL_HOST from %s (%s) from ourself, restarting"
msgstr ""
#: src/protocol.c:722
#: src/protocol.c:761
#, c-format
msgid ""
"Got DEL_HOST from %s (%s) with origin %s which is not in our connection list"
msgstr ""
#: src/protocol.c:734
#: src/protocol.c:773
#, c-format
msgid "Got DEL_HOST from %s (%s) for %s which is not in our connection list"
msgstr ""
#: src/protocol.c:744
#: src/protocol.c:783
#, 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:776
#: src/protocol.c:815
#, fuzzy, c-format
msgid "Got bad STATUS from %s (%s)"
msgstr "recibí una petición ANS_KEY incorrecta: %s"
#: src/protocol.c:783
#: src/protocol.c:822
#, fuzzy, c-format
msgid "Status message from %s (%s): %s: %s"
msgstr "He recibido una petición: %s"
#: src/protocol.c:807
#: src/protocol.c:846
#, fuzzy, c-format
msgid "Got bad ERROR from %s (%s)"
msgstr "recibí una petición DEL_HOST incorrecta: %s"
#: src/protocol.c:814
#: src/protocol.c:853
#, fuzzy, c-format
msgid "Error message from %s (%s): %s: %s"
msgstr "He recibido una petición: %s"
#: src/protocol.c:892
#: src/protocol.c:931
#, fuzzy, c-format
msgid "Got bad KEY_CHANGED from %s (%s)"
msgstr "recibí KEY_CHANGED de "
#: src/protocol.c:899
#: src/protocol.c:938
#, c-format
msgid ""
"Got KEY_CHANGED from %s (%s) origin %s which does not exist in our "
"connection list"
msgstr ""
#: src/protocol.c:929
#: src/protocol.c:968
#, fuzzy, c-format
msgid "Got bad REQ_KEY from %s (%s)"
msgstr "recibí REQ_KEY de "
#: src/protocol.c:936
#: src/protocol.c:975
#, c-format
msgid ""
"Got REQ_KEY from %s (%s) origin %s which does not exist in our connection "
"list"
msgstr ""
#: src/protocol.c:952
#: src/protocol.c:991
#, c-format
msgid ""
"Got REQ_KEY from %s (%s) destination %s which does not exist in our "
"connection list"
msgstr ""
#: src/protocol.c:980
#: src/protocol.c:1019
#, fuzzy, c-format
msgid "Got bad ANS_KEY from %s (%s)"
msgstr "recibí una petición ANS_KEY incorrecta: %s"
#: src/protocol.c:987
#: src/protocol.c:1026
#, c-format
msgid ""
"Got ANS_KEY from %s (%s) origin %s which does not exist in our connection "
"list"
msgstr ""
#: src/protocol.c:1003
#: src/protocol.c:1042
#, fuzzy, c-format
msgid "Got bad ANS_KEY from %s (%s) origin %s: invalid key"
msgstr "recibí una petición ANS_KEY incorrecta: %s"
#: src/protocol.c:1016
#: src/protocol.c:1055
#, c-format
msgid ""
"Got ANS_KEY from %s (%s) destination %s which does not exist in our "
"connection list"
msgstr ""
#: src/tincd.c:94
#: src/tincd.c:99
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Pruebe `%s --help' para más información.\n"
#: src/tincd.c:97
#: src/tincd.c:102
#, c-format
msgid ""
"Usage: %s [option]...\n"
@ -692,7 +693,7 @@ msgstr ""
"Modo de empleo: %s [opción]...\n"
"\n"
#: src/tincd.c:98
#: src/tincd.c:103
#, fuzzy
msgid ""
" -c, --config=DIR Read configuration options from DIR.\n"
@ -700,7 +701,6 @@ msgid ""
" -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"
msgstr ""
" -c, --config=FICHERO Lee opciones de configuración del FICHERO.\n"
" -D, --no-detach No hagas fork() y liberes la terminal.\n"
@ -710,8 +710,10 @@ msgstr ""
" -t, --timeout=TIEMPO Segundos a esperar antes de cancelar una "
"trasmisión.\n"
#: src/tincd.c:104
#: src/tincd.c:108
#, 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"
"\n"
@ -720,72 +722,99 @@ msgstr ""
" --version Muestra información de la versión y termina.\n"
"\n"
#: src/tincd.c:106
#: src/tincd.c:111
msgid "Report bugs to tinc@nl.linux.org.\n"
msgstr "Comunicar `bugs' a tinc@nl.linux.org.\n"
#: src/tincd.c:144
#, c-format
msgid "Invalid timeout value `%s'.\n"
msgstr "Valor de `timeout' no válido `%s'.\n"
#: src/tincd.c:152
msgid "Invalid argument! BITS must be a number equal to or greater than 512.\n"
msgstr ""
#: src/tincd.c:158
#: src/tincd.c:207
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:210
#, fuzzy, c-format
msgid "Generating %d bits keys:\n"
msgstr "Generando claves de %d bits."
#: src/tincd.c:214
msgid "Error during key generation!"
msgstr ""
#: src/tincd.c:218
#, fuzzy
msgid "Done.\n"
msgstr ": hecho.\n"
#: src/tincd.c:220
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:230
#, 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:213
#: src/tincd.c:285
#, 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:216
#: src/tincd.c:288
#, fuzzy, c-format
msgid "tincd %s starting"
msgstr "tincd %s comenzando, nivel de depuración %d."
#: src/tincd.c:231
#: src/tincd.c:303
#, 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:249
#: src/tincd.c:321
#, 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:252
#: src/tincd.c:324
#, 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:273
#: src/tincd.c:345
#, 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:275
#: src/tincd.c:347
msgid "No other tincd is running.\n"
msgstr "No hay ningún otro tincd en ejecución.\n"
#: src/tincd.c:282
#: src/tincd.c:354
msgid "Removing stale lock file.\n"
msgstr "Borrando fichero de bloqueo en desuso.\n"
#. Do some intl stuff right now
#: src/tincd.c:325
#: src/tincd.c:397
msgid "unknown"
msgstr ""
#: src/tincd.c:331
#: src/tincd.c:403
#, c-format
msgid "%s version %s (built %s %s, protocol %d)\n"
msgstr ""
#: src/tincd.c:332
#: src/tincd.c:404
#, fuzzy
msgid ""
"Copyright (C) 1998,1999,2000 Ivo Timmermans, Guus Sliepen and others.\n"
@ -802,66 +831,75 @@ msgstr ""
"y puede ser redistribuido bajo ciertas condiciones;\n"
"vea el fichero COPYING para los detalles.\n"
#: src/tincd.c:346
#: src/tincd.c:418
#, fuzzy
msgid "You must be root to run this program. Sorry.\n"
msgstr ""
"Usted debe ser el superusuario para ejecutar este programa. Lo siento.\n"
#: src/tincd.c:377
#: src/tincd.c:452
msgid "Unrecoverable error"
msgstr ""
#: src/tincd.c:382
#: src/tincd.c:457
#, c-format
msgid "Restarting in %d seconds!"
msgstr ""
#: src/tincd.c:387 src/tincd.c:433
#: src/tincd.c:462 src/tincd.c:508
msgid "Aieee! Not restarting."
msgstr ""
#: src/tincd.c:397
#: src/tincd.c:472
msgid "Got TERM signal"
msgstr "Recibí la señal TERM"
#: src/tincd.c:405
#: src/tincd.c:480
msgid "Got QUIT signal"
msgstr "Recibí la señal QUIT"
#: src/tincd.c:412
#: src/tincd.c:487
msgid "Got another SEGV signal: not restarting"
msgstr "Recibí otra señal SEGV: no reinicio"
#: src/tincd.c:419
#: src/tincd.c:494
#, fuzzy
msgid "Got SEGV signal"
msgstr "Recibí la señal TERM"
#: src/tincd.c:424
#: src/tincd.c:499
#, fuzzy
msgid "Trying to re-execute in 5 seconds..."
msgstr "Intento re-establecer la conexión saliente en 5 segundos."
#: src/tincd.c:442
#: src/tincd.c:517
msgid "Got HUP signal, rereading configuration and restarting"
msgstr ""
#: src/tincd.c:450
#: src/tincd.c:525
#, fuzzy
msgid "Got INT signal, exiting"
msgstr "Recibí la señal INT"
#: src/tincd.c:464
#: src/tincd.c:539
#, fuzzy
msgid "Got USR2 signal, forcing new key generation"
msgstr "Forzando generación de una nueva clave"
#: src/tincd.c:473
#: src/tincd.c:548
#, fuzzy, c-format
msgid "Got unexpected signal %d (%s)"
msgstr "Recibí una señal inesperada (%d)."
#~ msgid "Usage: %s bits\n"
#~ msgstr "Uso: %s bits\n"
#~ msgid "Illegal number: %s\n"
#~ msgstr "Número ilegal: %s\n"
#~ msgid "Invalid timeout value `%s'.\n"
#~ msgstr "Valor de `timeout' no válido `%s'.\n"
#~ msgid "Illegal passphrase in %s; size would be %d"
#~ msgstr "Frase de paso ilegal en %s; el tamaño debe ser %d"

391
po/nl.po
View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: tinc 1.0pre3\n"
"POT-Creation-Date: 2000-10-15 02:53+0200\n"
"POT-Creation-Date: 2000-10-20 18:35+0200\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"
@ -39,36 +39,6 @@ msgstr ""
"Ongeldige waarde voor variabele op regel %d tijdens het lezen van "
"configuratie bestand %s"
#: src/genauth.c:78
#, c-format
msgid "Usage: %s bits\n"
msgstr "Gebruik: %s bits\n"
#: src/genauth.c:89
#, c-format
msgid "Illegal number: %s\n"
msgstr "Ongeldig nummer: %s\n"
#. Align to bytes for easy mallocing and reading
#: src/genauth.c:95
#, c-format
msgid "Generating %d bits keys:\n"
msgstr "Bezig met genereren van een %d bits sleutel:\n"
#: src/genauth.c:99
msgid "Done.\n"
msgstr "Klaar.\n"
#: src/genauth.c:101
#, c-format
msgid "Public key: %s\n"
msgstr "Publieke sleutel: %s\n"
#: src/genauth.c:102
#, c-format
msgid "Private key: %s\n"
msgstr "Privé sleutel: %s\n"
#: src/meta.c:42
#, c-format
msgid "Sending %d bytes of metadata to %s (%s): %s"
@ -79,7 +49,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:85 src/net.c:773
#: src/meta.c:85 src/net.c:847
#, c-format
msgid "This is a bug: %s:%d: %d:%m %s (%s)"
msgstr "Dit is een programmeerfout: %s:%d: %d:%m %s (%s)"
@ -109,274 +79,296 @@ msgstr "Kreeg verzoek van %s (%s): %s"
msgid "Metadata read buffer overflow for %s (%s)"
msgstr "Metadata leesbuffer overvol voor %s (%s)"
#: src/net.c:106
#: src/net.c:107
#, c-format
msgid "Sending packet of %d bytes to %s (%s)"
msgstr "Verzending pakket van %d bytes naar %s (%s)"
#: src/net.c:115
#: src/net.c:116
#, c-format
msgid "Error sending packet to %s (%s): %m"
msgstr "Fout tijdens verzenden pakket naar %s (%s): %m"
#: src/net.c:129
#: src/net.c:130
#, c-format
msgid "Receiving packet of %d bytes"
msgstr "Ontvangst pakket van %d bytes"
#: src/net.c:142
#: src/net.c:143
#, c-format
msgid "Can't write to tap device: %m"
msgstr "Kan niet naar tap apparaat schrijven: %m"
#: src/net.c:242
#: src/net.c:243
msgid "Queue flushed"
msgstr "Wachtrij leeggemaakt"
#: src/net.c:257
#: src/net.c:258
#, c-format
msgid "Flushing send queue for %s (%s)"
msgstr "Legen van verzend-wachtrij voor %s (%s)"
#: src/net.c:265
#: src/net.c:266
#, c-format
msgid "Flushing receive queue for %s (%s)"
msgstr "Legen van de ontvangst-wachtrij voor %s (%s)"
#: src/net.c:283
#: src/net.c:284
#, 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:297
#: src/net.c:298
#, c-format
msgid "Could not open UDP connection to %s (%s)"
msgstr "Kon geen UDP verbinding openen naar %s (%s)"
#: src/net.c:305
#: src/net.c:306
#, 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"
#: src/net.c:316
#: src/net.c:317
#, c-format
msgid "%s (%s) is not ready, queueing packet"
msgstr "%s (%s) is niet gereed, pakket wordt in de wachtrij gezet"
#: src/net.c:344
#: src/net.c:352
#, c-format
msgid "Could not open %s: %m"
msgstr "Kon %s niet openen: %m"
#: src/net.c:360
#: src/net.c:370
#, c-format
msgid "%s is a new style tun/tap device"
msgstr "%s is een nieuwe stijl tun/tap apparaat"
#: src/net.c:362
#: src/net.c:373
msgid "tun/tap device will be left unconfigured"
msgstr "tun/tap apparaat wordt ongeconfigureerd gelaten"
#: src/net.c:384
#: src/net.c:396
#, c-format
msgid "Creating metasocket failed: %m"
msgstr "Aanmaak van metasocket mislukt: %m"
#: src/net.c:390 src/net.c:396 src/net.c:458
#: src/net.c:402 src/net.c:408 src/net.c:470
#, c-format
msgid "setsockopt: %m"
msgstr "setsockopt: %m"
#: src/net.c:403 src/net.c:465
#: src/net.c:415 src/net.c:477
#, c-format
msgid "fcntl: %m"
msgstr "fcntl: %m"
#: src/net.c:411
#: src/net.c:423
#, c-format
msgid "Unable to bind listen socket to interface %s: %m"
msgstr "Kon luistersocket niet binden aan interface %s: %m"
#: src/net.c:427
#: src/net.c:439
#, c-format
msgid "Can't bind to port %hd/tcp: %m"
msgstr "Kan niet aan poort %hd/tcp binden: %m"
#: src/net.c:433
#: src/net.c:445
#, c-format
msgid "listen: %m"
msgstr "listen: %m"
#: src/net.c:452
#: src/net.c:464
#, c-format
msgid "Creating socket failed: %m"
msgstr "Aanmaak socket mislukte: %m"
#: src/net.c:476
#: src/net.c:488
#, c-format
msgid "Can't bind to port %hd/udp: %m"
msgstr "Kan niet aan poort %hd/udp binden: %m"
#: src/net.c:493
#: src/net.c:505
#, c-format
msgid "Trying to connect to %s"
msgstr "Poging tot verbinding met %s"
#: src/net.c:503
#: src/net.c:515
#, c-format
msgid "Creating socket for %s port %d failed: %m"
msgstr "Aanmaken socket voor %s poort %d mislukt: %m"
#: src/net.c:514
#: src/net.c:526
#, c-format
msgid "%s port %hd: %m"
msgstr "%s poort %hd: %m"
#: src/net.c:521
#: src/net.c:533
#, c-format
msgid "fcntl for %s port %d: %m"
msgstr "fcntl voor %s poort %d: %m"
#: src/net.c:527
#: src/net.c:539
#, c-format
msgid "Connected to %s port %hd"
msgstr "Verbonden met %s poort %hd"
#: src/net.c:547
#: src/net.c:562
msgid "Invalid name for outgoing connection"
msgstr "Ongelige naam voor uitgaande verbinding"
#: src/net.c:571
#, c-format
msgid "Error reading host configuration file for %s"
msgstr "Fout tijdens lezen host configuratie bestand voor %s"
#: src/net.c:578
#, c-format
msgid "No address specified for %s"
msgstr "Geen adres gespecificeerd voor %s"
#: src/net.c:585
#, c-format
msgid "Error looking up `%s': %m"
msgstr "Fout bij het opzoeken van `%s': %m"
#: src/net.c:557
#: src/net.c:595
#, c-format
msgid "Could not set up a meta connection to %s"
msgstr "Kon geen metaverbinding aangaan met %s"
#: src/net.c:586
#: src/net.c:629
msgid "Name for tinc daemon required!"
msgstr "Naam voor tinc daemon verplicht!"
#: src/net.c:594
#: src/net.c:637
msgid "Invalid name for myself!"
msgstr "Ongelige naam voor mijzelf!"
#: src/net.c:600
#: src/net.c:643
msgid "Private key for tinc daemon required!"
msgstr "Privé sleutel voor tinc daemon verplicht!"
#: src/net.c:655
msgid "Cannot open host configuration file for myself!"
msgstr "Kan host configuratie bestand voor mijzelf niet openen!"
#: src/net.c:619
#: src/net.c:661
msgid "Public key for tinc daemon required!"
msgstr "Publieke sleutel voor tinc daemon verplicht!"
#: src/net.c:690
msgid "Unable to set up a listening socket!"
msgstr "Kon geen luistersocket aanmaken!"
#: src/net.c:625
#: src/net.c:696
msgid "Unable to set up an incoming vpn data socket!"
msgstr "Kon geen socket maken voor inkomend vpn verkeer!"
#: src/net.c:632
#: src/net.c:703
#, c-format
msgid "Ready: listening on port %hd"
msgstr "Gereed: luisterend op poort %hd"
#: src/net.c:660
#: src/net.c:734
#, 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:698
#: src/net.c:772
#, 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:736
#: src/net.c:810
msgid "Terminating"
msgstr "Beëindigen"
#: src/net.c:750
#: src/net.c:824
#, c-format
msgid "Opening UDP socket to %s"
msgstr "Bezig met openen UDP socket naar %s"
#: src/net.c:755
#: src/net.c:829
#, c-format
msgid "Creating UDP socket failed: %m"
msgstr "Aanmaak UDP socket mislukte: %m"
#: src/net.c:765
#: src/net.c:839
#, c-format
msgid "Connecting to %s port %d failed: %m"
msgstr "Verbinding naar %s poort %d mislukt: %m"
#: src/net.c:798
#: src/net.c:872
#, c-format
msgid "Error: getpeername: %m"
msgstr "Fout: getpeername: %m"
#: src/net.c:813
#: src/net.c:887
#, c-format
msgid "Connection from %s port %d"
msgstr "Verbinding van %s poort %d"
#: src/net.c:861
#: src/net.c:931
#, c-format
msgid "This is a bug: %s:%d: %d:%m"
msgstr "Dit is een programmeerfout: %s:%d: %d:%m"
#: src/net.c:867
#: src/net.c:937
#, c-format
msgid "Incoming data socket error: %s"
msgstr "Fout op socket voor inkomend verkeer: %s"
#: src/net.c:873
#: src/net.c:943
#, c-format
msgid "Receiving packet failed: %m"
msgstr "Ontvangst pakket mislukt: %m"
#: src/net.c:894
#: src/net.c:964
#, c-format
msgid "Closing connection with %s (%s)"
msgstr "Beëindigen verbinding met %s (%s)"
#: src/net.c:937
#: src/net.c:1007
msgid "Trying to re-establish outgoing connection in 5 seconds"
msgstr "Poging tot herstellen van uitgaande verbinding over 5 seconden"
#: src/net.c:967
#: src/net.c:1037
#, c-format
msgid "%s (%s) didn't respond to PING"
msgstr "%s (%s) antwoordde niet op ping"
#: src/net.c:998
#: src/net.c:1068
#, c-format
msgid "Accepting a new connection failed: %m"
msgstr "Aanname van nieuwe verbinding is mislukt: %m"
#: src/net.c:1006
#: src/net.c:1076
msgid "Closed attempted connection"
msgstr "Aangenomen verbinding verbroken"
#: src/net.c:1041
#: src/net.c:1111
#, 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:1077
#: src/net.c:1150 src/net.c:1159
#, c-format
msgid "Error while reading from tapdevice: %m"
msgstr "Fout tijdens lezen van tap-apparaatbestand tijdens lezen: %m"
#: src/net.c:1087
#: src/net.c:1171
#, 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"
#: src/net.c:1094
#: src/net.c:1178
#, 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"
#: src/net.c:1133
#: src/net.c:1213
#, c-format
msgid "Error while waiting for input: %m"
msgstr "Fout tijdens wachten op invoer: %m"
@ -416,148 +408,158 @@ msgstr "Fout tijdens afhandelen %s van %s (%s)"
msgid "Bogus data received from %s (%s)"
msgstr "Onzinnige data ontvangen van %s (%s)"
#: src/protocol.c:167
#: src/protocol.c:170
#, c-format
msgid "Got bad ID from %s"
msgstr "Kreeg ongeldige ID van %s"
#: src/protocol.c:175
#: src/protocol.c:178
#, c-format
msgid "Peer %s (%s) uses incompatible version %d"
msgstr "Ander %s (%s) gebruikt een niet-compatibel protocol versie %d"
#: src/protocol.c:184
#: src/protocol.c:187
#, c-format
msgid "Peer %s uses invalid identity name"
msgstr "Ander %s gebruikt een ongeldige identiteitsnaam"
#: src/protocol.c:192
#: src/protocol.c:195
#, c-format
msgid "Peer %s had unknown identity (%s)"
msgstr "Ander %s heeft een onbekende identiteit (%s)"
#: src/protocol.c:207
#: src/protocol.c:209
#, c-format
msgid "Uplink %s (%s) is already in our connection list"
msgstr "%s (%s) staat al in onze verbindingslijst"
#: src/protocol.c:253
#: src/protocol.c:219
#, c-format
msgid "No public key known for %s (%s)"
msgstr "Geen publieke sleutel bekend voor %s (%s)"
#: src/protocol.c:258 src/protocol.c:312
#, c-format
msgid "Error during encryption of challenge for %s (%s)"
msgstr "Fout tijdens versleuteling van uitdaging voor %s (%s)"
#: src/protocol.c:284
#, c-format
msgid "Got bad CHALLENGE from %s (%s)"
msgstr "Kreeg ongeldige CHALLENGE van %s (%s)"
#: src/protocol.c:261
#: src/protocol.c:294
#, c-format
msgid "Intruder: wrong challenge length from %s (%s)"
msgstr "Indringer: verkeerde lengte voor uitdaging van %s (%s)"
#: src/protocol.c:287
#: src/protocol.c:330
#, 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:318
#: src/protocol.c:361
#, c-format
msgid "Got bad CHAL_REPLY from %s (%s)"
msgstr "Kreeg ongeldige CHAL_REPLY van %s (%s)"
#: src/protocol.c:327
#: src/protocol.c:370
#, 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:344
#: src/protocol.c:387
#, c-format
msgid "Intruder: wrong challenge reply from %s (%s)"
msgstr "Indringer: verkeerd antwoord op de uitdaging van %s (%s)"
#: src/protocol.c:386
#: src/protocol.c:425
#, 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:398
#: src/protocol.c:437
#, c-format
msgid "Connection with %s (%s) activated"
msgstr "Verbinding met %s (%s) geactiveerd"
#: src/protocol.c:438
#: src/protocol.c:477
#, c-format
msgid "Got bad ADD_SUBNET from %s (%s)"
msgstr "Kreeg ongeldige ADD_SUBNET van %s (%s)"
#: src/protocol.c:447
#: src/protocol.c:486
#, 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:456
#: src/protocol.c:495
#, 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:467
#: src/protocol.c:506
#, 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:478
#: src/protocol.c:517
#, 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"
#: src/protocol.c:506
#: src/protocol.c:545
#, c-format
msgid "Got bad DEL_SUBNET from %s (%s)"
msgstr "Kreeg ongeldige DEL_SUBNET van %s (%s)"
#: src/protocol.c:515
#: src/protocol.c:554
#, 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:524
#: src/protocol.c:563
#, 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:535
#: src/protocol.c:574
#, 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:546
#: src/protocol.c:585
#, 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:577
#: src/protocol.c:616
#, c-format
msgid "Got bad ADD_HOST from %s (%s)"
msgstr "Kreeg ongeldige ADD_HOST van %s (%s)"
#: src/protocol.c:585
#: src/protocol.c:624
#, 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:594
#: src/protocol.c:633
#, 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:604
#: src/protocol.c:643
#, c-format
msgid "Warning: got ADD_HOST from %s (%s) from ourself, restarting"
msgstr "Waarschuwing: kreeg ADD_HOST van %s (%s) van onszelf, herstart"
#: src/protocol.c:614
#: src/protocol.c:653
#, c-format
msgid ""
"Got ADD_HOST from %s (%s) with origin %s which is not in our connection list"
@ -565,37 +567,37 @@ msgstr ""
"Kreeg ADD_HOST van %s (%s) met herkomst %s die niet in onze verbindingslijst "
"voorkomt"
#: src/protocol.c:633
#: src/protocol.c:672
#, 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:640
#: src/protocol.c:679
#, c-format
msgid "Removing old entry for %s (%s)"
msgstr "Verwijdering oude verbinding voor %s (%s)"
#: src/protocol.c:683
#: src/protocol.c:722
#, c-format
msgid "Got bad DEL_HOST from %s (%s)"
msgstr "Kreeg ongeldige DEL_HOST van %s (%s)"
#: src/protocol.c:692
#: src/protocol.c:731
#, 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:701
#: src/protocol.c:740
#, 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:712
#: src/protocol.c:751
#, c-format
msgid "Warning: got DEL_HOST from %s (%s) from ourself, restarting"
msgstr "Waarschuwing: kreeg DEL_HOST van %s (%s) van onszelf, herstart"
#: src/protocol.c:722
#: src/protocol.c:761
#, c-format
msgid ""
"Got DEL_HOST from %s (%s) with origin %s which is not in our connection list"
@ -603,43 +605,43 @@ msgstr ""
"Kreeg DEL_HOST voor %s (%s) met herkomst %s die niet in onze "
"verbindingslijst voorkomt"
#: src/protocol.c:734
#: src/protocol.c:773
#, 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:744
#: src/protocol.c:783
#, 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:776
#: src/protocol.c:815
#, c-format
msgid "Got bad STATUS from %s (%s)"
msgstr "Kreeg ongeldige STATUS van %s (%s)"
#: src/protocol.c:783
#: src/protocol.c:822
#, c-format
msgid "Status message from %s (%s): %s: %s"
msgstr "Ontving statusbericht van %s (%s): %s: %s"
#: src/protocol.c:807
#: src/protocol.c:846
#, c-format
msgid "Got bad ERROR from %s (%s)"
msgstr "Kreeg ongeldige ERROR van %s (%s)"
#: src/protocol.c:814
#: src/protocol.c:853
#, c-format
msgid "Error message from %s (%s): %s: %s"
msgstr "Ontving foutmelding van %s (%s): %s: %s"
#: src/protocol.c:892
#: src/protocol.c:931
#, c-format
msgid "Got bad KEY_CHANGED from %s (%s)"
msgstr "Kreeg ongeldige KEY_CHANGED van %s (%s)"
#: src/protocol.c:899
#: src/protocol.c:938
#, c-format
msgid ""
"Got KEY_CHANGED from %s (%s) origin %s which does not exist in our "
@ -648,12 +650,12 @@ msgstr ""
"Kreeg KEY_CHANGED van %s (%s) met herkomst %s die niet in onze "
"verbindingslijst voorkomt"
#: src/protocol.c:929
#: src/protocol.c:968
#, c-format
msgid "Got bad REQ_KEY from %s (%s)"
msgstr "Kreeg ongeldige REQ_KEY van %s (%s)"
#: src/protocol.c:936
#: src/protocol.c:975
#, c-format
msgid ""
"Got REQ_KEY from %s (%s) origin %s which does not exist in our connection "
@ -662,7 +664,7 @@ msgstr ""
"Kreeg REQ_KEY van %s (%s) herkomst %s die niet in onze verbindingslijst "
"voorkomt"
#: src/protocol.c:952
#: src/protocol.c:991
#, c-format
msgid ""
"Got REQ_KEY from %s (%s) destination %s which does not exist in our "
@ -670,12 +672,12 @@ msgid ""
msgstr ""
"Kreeg REQ_KEY van %s (%s) doel %s die niet in onze verbindingslijst voorkomt"
#: src/protocol.c:980
#: src/protocol.c:1019
#, c-format
msgid "Got bad ANS_KEY from %s (%s)"
msgstr "Kreeg ongeldige ANS_KEY van %s (%s)"
#: src/protocol.c:987
#: src/protocol.c:1026
#, c-format
msgid ""
"Got ANS_KEY from %s (%s) origin %s which does not exist in our connection "
@ -684,12 +686,12 @@ msgstr ""
"Kreeg ANS_KEY van %s (%s) met herkomst %s die niet in onze verbindingslijst "
"voorkomt"
#: src/protocol.c:1003
#: src/protocol.c:1042
#, 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
#: src/protocol.c:1055
#, c-format
msgid ""
"Got ANS_KEY from %s (%s) destination %s which does not exist in our "
@ -697,12 +699,12 @@ msgid ""
msgstr ""
"Kreeg ANS_KEY van %s (%s) doel %s die niet in onze verbindingslijst voorkomt"
#: src/tincd.c:94
#: src/tincd.c:99
#, 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:102
#, c-format
msgid ""
"Usage: %s [option]...\n"
@ -711,100 +713,132 @@ msgstr ""
"Gebruik: %s [optie]...\n"
"\n"
#: src/tincd.c:98
#: src/tincd.c:103
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"
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
#: src/tincd.c:108
msgid ""
" -K, --keygen[=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"
"\n"
#: src/tincd.c:106
#: src/tincd.c:111
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
#, c-format
msgid "Invalid timeout value `%s'.\n"
msgstr "Ongeldige timeout waarde `%s'.\n"
#: src/tincd.c:152
msgid "Invalid argument! BITS must be a number equal to or greater than 512.\n"
msgstr ""
"Ongeldig argument! BITS moet een nummer zijn gelijk aan of groter dan 512.\n"
#: src/tincd.c:158
#: src/tincd.c:207
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:210
#, c-format
msgid "Generating %d bits keys:\n"
msgstr "Bezig met genereren van een %d bits sleutel:\n"
#: src/tincd.c:214
msgid "Error during key generation!"
msgstr "Fout tijdens genereren sleutel!"
#: src/tincd.c:218
msgid "Done.\n"
msgstr "Klaar.\n"
#: src/tincd.c:220
msgid ""
"Please copy the private key to tinc.conf and the\n"
"public key to your host configuration file:\n"
"\n"
msgstr ""
"Copiëer de privé sleutel naar tinc.conf en de\n"
"publieke sleutel naar het host configuratie bestand:\n"
"\n"
#: src/tincd.c:230
#, 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:213
#: src/tincd.c:285
#, c-format
msgid "tincd %s (%s %s) starting, debug level %d"
msgstr "tincd %s (%s %s) gestart, debugniveau %d"
#: src/tincd.c:216
#: src/tincd.c:288
#, c-format
msgid "tincd %s starting"
msgstr "tincd %s gestart"
#: src/tincd.c:231
#: src/tincd.c:303
#, 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:249
#: src/tincd.c:321
#, 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:252
#: src/tincd.c:324
#, c-format
msgid "A tincd is already running with pid %d.\n"
msgstr "Een tincd draait al met procesnummer %d.\n"
#: src/tincd.c:273
#: src/tincd.c:345
#, c-format
msgid "No other tincd is running for net `%s'.\n"
msgstr "Geen andere tincd gevonden voor net `%s'.\n"
#: src/tincd.c:275
#: src/tincd.c:347
msgid "No other tincd is running.\n"
msgstr "Geen andere tincd gevonden.\n"
#: src/tincd.c:282
#: src/tincd.c:354
msgid "Removing stale lock file.\n"
msgstr "Ongebruikt vergrendelingsbestand verwijderd.\n"
#. Do some intl stuff right now
#: src/tincd.c:325
#: src/tincd.c:397
msgid "unknown"
msgstr "onbekend"
#: src/tincd.c:331
#: src/tincd.c:403
#, 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:404
msgid ""
"Copyright (C) 1998,1999,2000 Ivo Timmermans, Guus Sliepen and others.\n"
"See the AUTHORS file for a complete list.\n"
@ -821,61 +855,70 @@ msgstr ""
"en je bent welkom om het te distribueren onder bepaalde voorwaarden;\n"
"zie het bestand COPYING voor details.\n"
#: src/tincd.c:346
#: src/tincd.c:418
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:452
msgid "Unrecoverable error"
msgstr "Onherstelbare fout"
#: src/tincd.c:382
#: src/tincd.c:457
#, c-format
msgid "Restarting in %d seconds!"
msgstr "Herstart in %d seconden!"
#: src/tincd.c:387 src/tincd.c:433
#: src/tincd.c:462 src/tincd.c:508
msgid "Aieee! Not restarting."
msgstr "Waaah! Geen herstart."
#: src/tincd.c:397
#: src/tincd.c:472
msgid "Got TERM signal"
msgstr "Kreeg TERM signaal"
#: src/tincd.c:405
#: src/tincd.c:480
msgid "Got QUIT signal"
msgstr "Kreeg QUIT signaal"
#: src/tincd.c:412
#: src/tincd.c:487
msgid "Got another SEGV signal: not restarting"
msgstr "Kreeg nog een SEGV signaal: niet herstarten"
#: src/tincd.c:419
#: src/tincd.c:494
msgid "Got SEGV signal"
msgstr "Kreeg SEGV signaal"
#: src/tincd.c:424
#: src/tincd.c:499
msgid "Trying to re-execute in 5 seconds..."
msgstr "Poging tot herstaren over 5 seconden..."
#: src/tincd.c:442
#: src/tincd.c:517
msgid "Got HUP signal, rereading configuration and restarting"
msgstr "Kreeg HUP signaal, herlezen configuratie en herstarten"
#: src/tincd.c:450
#: src/tincd.c:525
msgid "Got INT signal, exiting"
msgstr "Kreeg INT signaal, beëindigen"
#: src/tincd.c:464
#: src/tincd.c:539
msgid "Got USR2 signal, forcing new key generation"
msgstr "Kreeg USR2 signaal, nieuwe sleutels geforceerd"
#: src/tincd.c:473
#: src/tincd.c:548
#, c-format
msgid "Got unexpected signal %d (%s)"
msgstr "Kreeg onverwacht signaal %d (%s)"
#~ msgid "Usage: %s bits\n"
#~ msgstr "Gebruik: %s bits\n"
#~ msgid "Illegal number: %s\n"
#~ msgstr "Ongeldig nummer: %s\n"
#~ msgid "Invalid timeout value `%s'.\n"
#~ msgstr "Ongeldige timeout waarde `%s'.\n"
#~ msgid "Illegal passphrase in %s; size would be %d"
#~ msgstr "Ongeldig wachtwoord in %s; grootte zou %d zijn"

View file

@ -1,9 +1,8 @@
## Produce this file with automake to get Makefile.in
# $Id: Makefile.am,v 1.4.4.2 2000/10/11 10:35:15 guus Exp $
# $Id: Makefile.am,v 1.4.4.3 2000/10/20 16:49:20 guus 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
INCLUDES = -I$(top_builddir) -I$(top_srcdir)/cipher -I$(top_srcdir)/lib -I$(top_srcdir)/intl

View file

@ -1,113 +0,0 @@
/*
genauth.c -- generate public/private keypairs
Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
2000 Guus Sliepen <guus@sliepen.warande.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: genauth.c,v 1.7.4.4 2000/10/20 15:34:35 guus Exp $
*/
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <openssl/rsa.h>
#include <openssl/rand.h>
#include <xalloc.h>
#include "system.h"
#define RSA_PUBLIC_EXPONENT 65535
void indicator(int a, int b, void *p)
{
switch(a)
{
case 0:
fprintf(stderr, ".");
break;
case 1:
fprintf(stderr, "+");
break;
case 2:
fprintf(stderr, "-");
break;
case 3:
switch(b)
{
case 0:
fprintf(stderr, " p\n");
break;
case 1:
fprintf(stderr, " q\n");
break;
default:
fprintf(stderr, "?");
}
break;
default:
fprintf(stderr, "?");
}
}
int main(int argc, char **argv)
{
int bits;
RSA *key;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
if(argc > 2 || (argc == 2 && (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help"))))
{
fprintf(stderr, _("Usage: %s bits\n"), argv[0]);
return 1;
}
if(!argv[1])
argv[1] = "1024";
bits = atol(argv[1]);
if(bits<32)
{
fprintf(stderr, _("Illegal number: %s\n"), argv[1]);
return 1;
}
bits = ((bits - 1) | 7) + 1; /* Align to bytes for easy mallocing and reading */
fprintf(stderr, _("Seeding the PRNG: please press some keys or move\nthe mouse if this program seems to have halted...\n"));
RAND_load_file("/dev/random", 1024); /* OpenSSL PRNG state apparently uses 1024 bytes */
fprintf(stderr, _("Generating %d bits keys:\n"), bits);
key = RSA_generate_key(bits, RSA_PUBLIC_EXPONENT, indicator, NULL);
fprintf(stderr, _("Done.\n"));
printf(_("Public key: %s\n"), BN_bn2hex(key->n));
printf(_("Private key: %s\n"), BN_bn2hex(key->d));
printf(_("Public exp: %s\n"), BN_bn2hex(key->e));
fflush(stdin); /* Flush any input caused by random keypresses */
return 0;
}

View 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.12 2000/10/15 00:59:37 guus Exp $
$Id: tincd.c,v 1.10.4.13 2000/10/20 16:49:20 guus Exp $
*/
#include "config.h"
@ -31,6 +31,8 @@
#include <syslog.h>
#include <unistd.h>
#include <signal.h>
#include <openssl/rand.h>
#include <openssl/rsa.h>
#ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h>
@ -63,6 +65,9 @@ static int kill_tincd = 0;
/* If zero, don't detach from the terminal. */
static int do_detach = 1;
/* If nonzero, generate public/private keypair for this host/net. */
static int generate_keys = 0;
char *identname; /* program name for syslog */
char *pidfilename; /* pid file location */
static pid_t ppid; /* pid of non-detached part */
@ -80,10 +85,10 @@ static struct option const long_options[] =
{
{ "kill", no_argument, NULL, 'k' },
{ "net", required_argument, NULL, 'n' },
{ "timeout", required_argument, NULL, 'p' },
{ "help", no_argument, &show_help, 1 },
{ "version", no_argument, &show_version, 1 },
{ "no-detach", no_argument, &do_detach, 0 },
{ "keygen", optional_argument, NULL, 'K'},
{ NULL, 0, NULL, 0 }
};
@ -99,9 +104,9 @@ usage(int status)
" -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"));
printf(_(" --help Display this help 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(_("Report bugs to tinc@nl.linux.org.\n"));
}
@ -115,7 +120,7 @@ parse_options(int argc, char **argv, char **envp)
int option_index = 0;
config_t *p;
while((r = getopt_long(argc, argv, "c:Ddkn:t:", long_options, &option_index)) != EOF)
while((r = getopt_long(argc, argv, "c:Ddkn:K::", long_options, &option_index)) != EOF)
{
switch(r)
{
@ -138,12 +143,19 @@ parse_options(int argc, char **argv, char **envp)
netname = xmalloc(strlen(optarg)+1);
strcpy(netname, optarg);
break;
case 't': /* timeout */
if(!(p = add_config_val(&config, TYPE_INT, optarg)))
{
printf(_("Invalid timeout value `%s'.\n"), optarg);
usage(1);
}
case 'K': /* generate public/private keypair */
if(optarg)
{
generate_keys = atoi(optarg);
if(generate_keys < 512)
{
fprintf(stderr, _("Invalid argument! BITS must be a number equal to or greater than 512.\n"));
usage(1);
}
generate_keys &= ~7; /* Round it to bytes */
}
else
generate_keys = 1024;
break;
case '?':
usage(1);
@ -153,6 +165,66 @@ parse_options(int argc, char **argv, char **envp)
}
}
/* This function prettyprints the key generation process */
void indicator(int a, int b, void *p)
{
switch(a)
{
case 0:
fprintf(stderr, ".");
break;
case 1:
fprintf(stderr, "+");
break;
case 2:
fprintf(stderr, "-");
break;
case 3:
switch(b)
{
case 0:
fprintf(stderr, " p\n");
break;
case 1:
fprintf(stderr, " q\n");
break;
default:
fprintf(stderr, "?");
}
break;
default:
fprintf(stderr, "?");
}
}
/* Generate a public/private RSA keypair, and possibly store it into the configuration file. */
int keygen(int bits)
{
RSA *rsa_key;
fprintf(stderr, _("Seeding the PRNG: please press some keys or move\nthe mouse if this program seems to have halted...\n"));
RAND_load_file("/dev/random", 1024); /* OpenSSL PRNG state apparently uses 1024 bytes, but it seems pretty sufficient anyway :) */
fprintf(stderr, _("Generating %d bits keys:\n"), bits);
rsa_key = RSA_generate_key(bits, 0xFFFF, indicator, NULL);
if(!rsa_key)
{
fprintf(stderr, _("Error during key generation!"));
return -1;
}
else
fprintf(stderr, _("Done.\n"));
fprintf(stderr, _("Please copy the private key to tinc.conf and the\npublic key to your host configuration file:\n\n"));
printf("PublicKey = %s\n", BN_bn2hex(rsa_key->n));
printf("PrivateKey = %s\n", BN_bn2hex(rsa_key->d));
fflush(stdin);
return 0;
}
void memory_full(int size)
{
syslog(LOG_ERR, _("Memory exhausted (last is %s:%d) (couldn't allocate %d bytes), exiting."), cp_file, cp_line, size);
@ -351,6 +423,9 @@ main(int argc, char **argv, char **envp)
make_names();
if(generate_keys)
exit(keygen(generate_keys));
if(kill_tincd)
exit(kill_other());