These files are from other sources:
* lib/pidfile.h and lib/pidfile.c are by Martin Schulze, taken from
the syslog 1.3 sources.
- * The files cipher/blowfish/ and cipher/idea/ are from the SSLeay
- package by Eric Young.
+ * The files in cipher/blowfish/ are from the SSLeay package by
+ Eric Young.
This is the README file for tinc version 1.0.
Installation instructions may be found in the INSTALL file.
-tinc is Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com> and
+tinc is Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com> and
others. For a complete list of authors see the AUTHORS file.
This product includes software developed by Eric Young (eay@mincom.oz.au)
This version of tinc supports multiple virtual networks at once. To
use this feature, you may supply a netname via the -n or --net
options. The standard locations for the config files will then be
-/etc/tinc/<net>/.
+/etc/tinc/<net>/. Because of this feature, tinc will send packets
+directly to their destinations, instead of to the uplink. If this
+behaviour is undesirable (for instance because of firewalls or
+other restrictions), please use an older version of tinc (I would
+recommend tinc-0.2.19).
In this version, MAC addresses are stripped off before encoding and
sending a packet. When the packet reaches its destination, the MAC
* Sander Smeenk
* Tijs van Bakel
* Wessel Dankers (for the name `tinc' and being a royal pain in the
-ass (je hebt erom gevraagd))
+ ass (je hebt erom gevraagd))
for their help, support and ideas. Thank you guys!
/*
cipher.c -- wrapper functions for encryption algorithms
- Copyright (C) 1999 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1999,2000 Ivo Timmermans <zarq@iname.com>
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
/*
cipher.c -- header file for cipher.c
- Copyright (C) 1999 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1999,2000 Ivo Timmermans <zarq@iname.com>
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
-.TH TINC 5 "March 1999" "tinc version 0.2.16" "FSF"
+.TH TINC 5 "May 2000" "tinc version 1.0" "FSF"
.SH NAME
tincd.conf \- tinc daemon configuration
.SH "DESCRIPTION"
This is the info manual for tinc, a Virtual Private Network daemon.
-Copyright 1998 Ivo Timmermans <itimmermans@@bigfoot.com>
+Copyright 1998,199,2000 Ivo Timmermans <itimmermans@@bigfoot.com>
Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1998 Ivo Timmermans <itimmermans@@bigfoot.com>
+Copyright @copyright{} 1998,1999,2000 Ivo Timmermans <itimmermans@@bigfoot.com>
Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
the UDP data is the ``data-protocol,'' the other one is the
``meta-protocol.''
+The reason we don't use TCP for both protocols is that UDP is much
+better for encapsulation, even while it is less reliable. The real
+problem is that when TCP would be used to encapsulate a TCP stream
+that's on the private network, for every packet sent there would be
+three ACK's sent instead of just one. Furthermore, if there would be
+a timeout, both TCP streams would sense the timeout, and both would
+start resending packets.
@c ==================================================================
@node Security, , The Connection, Technical information
/*
conf.c -- configuration code
Copyright (C) 1998 Emphyrio,
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* foute config read code, GPL, emphyrio 1998 */
-/* Mutilated by me -- Ivo */
-
#include "config.h"
#include <ctype.h>
These are all the possible configurable values
*/
static internal_config_t hazahaza[] = {
- { "AllowConnect", allowconnect, TYPE_BOOL },
+ { "AllowConnect", allowconnect, TYPE_BOOL }, /* Is not used anywhere. Remove? */
{ "ConnectTo", upstreamip, TYPE_IP },
{ "ConnectPort", upstreamport, TYPE_INT },
{ "ListenPort", listenport, TYPE_INT },
/* Not found */
return NULL;
}
-
/*
conf.h -- header for conf.c
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
/*
encr.c -- everything that deals with encryption
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
cp
generate_private_key();
calculate_public_key();
- send_key_changed2();
+ send_key_changed_all();
recalculate_encryption_keys();
cp
}
/*
encr.h -- header for encr.c
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
/*
genauth.c -- generate a random passphrase
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
/*
net.c -- most of the network code
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
return xsend(cl, packet);
}
-int send_broadcast(conn_list_t *cl, vpn_packet_t *packet)
-{
- conn_list_t *p;
-cp
- for(p = cl; p != NULL; p = p->next)
- if(send_packet(p->real_ip, packet) < 0)
- {
- syslog(LOG_ERR, "Could not send a broadcast packet to %08lx (%08lx): %m",
- p->vpn_ip, p->real_ip);
- break; /* FIXME: should retry later, and send a ping over the metaconnection. */
- }
-cp
- return 0;
-}
-
/*
open the local ethertap device
*/
/*
net.h -- header for net.c
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
extern conn_list_t *myself;
extern int send_packet(ip_t, vpn_packet_t *);
-extern int send_broadcast(conn_list_t *, vpn_packet_t *);
extern int setup_network_connections(void);
extern void close_network_connections(void);
extern void main_loop(void);
/*
netutl.c -- some supporting network utility code
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
conn_list_t *lookup_conn(ip_t ip)
{
conn_list_t *p = conn_list;
-
+cp
/* Exact match suggested by James B. MacLean */
for(p = conn_list; p != NULL; p = p->next)
if(ip == p->vpn_ip)
/*
netutl.h -- header file for netutl.c
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
/*
protocol.c -- handle the meta-protocol
- Copyright (C) 1999 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1999,2000 Ivo Timmermans <zarq@iname.com>
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
char buffer[MAXBUFSIZE+1];
int buflen;
+/* Outgoing request routines */
+
int send_ack(conn_list_t *cl)
{
cp
return 0;
}
-void send_key_changed2(void)
+void send_key_changed_all(void)
{
conn_list_t *p;
cp
/*
protocol.h -- header for protocol.c
- Copyright (C) 1999 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1999,2000 Ivo Timmermans <zarq@iname.com>
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
extern int send_termreq(conn_list_t *);
extern int send_timeout(conn_list_t *);
extern int send_key_request(ip_t);
-extern void send_key_changed2(void);
+extern void send_key_changed_all(void);
#endif /* __TINC_PROTOCOL_H__ */
/*
tincd.c -- the main file for tincd
- Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
+ Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com>
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
/*
* $Log: tincd.c,v $
+ * Revision 1.8 2000/05/14 12:22:42 guus
+ * Cleanups.
+ *
* Revision 1.7 2000/04/27 13:47:51 zarq
* Default config file name is tinc.conf, and pidfile is tinc.pid.
*
if(show_version)
{
- printf("%s version %s\nCopyright (C) 1998,99 Ivo Timmermans and others,\n"
+ printf("%s version %s\nCopyright (C) 1998,1999,2000 Ivo Timmermans and others,\n"
"see the AUTHORS file for a complete list.\n\n"
"tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
"and you are welcome to redistribute it under certain conditions;\n"
{
exit(0);
}
-