Ivo Timmermans
e310cc82d3
Fix saving of debug level for startup level 0
2002-09-30 19:04:37 +00:00
Guus Sliepen
006591efe5
Run graph() after edge_del() when updating an edge.
2002-09-24 11:43:34 +00:00
Guus Sliepen
bf3a118988
Use /dev/net/tun as default for tun/tap device under Linux.
2002-09-15 22:19:19 +00:00
Guus Sliepen
5eca9520d9
Small fixes so tinc compiles out of the box on SunOS 5.8
2002-09-15 14:55:54 +00:00
Guus Sliepen
8d472a415e
port_t isn't used anymore and conflicts with MacOS/X headers.
2002-09-15 12:26:24 +00:00
Guus Sliepen
38c80bdd46
MacOS/X needs #define _P1003_1B_VISIBLE in order to use mlockall().
2002-09-15 12:26:04 +00:00
Guus Sliepen
3e3b4a3190
What was I thinking?
2002-09-11 22:25:58 +00:00
Guus Sliepen
eaf1208e9d
Fix placement of #include "config.h"
2002-09-10 22:13:01 +00:00
Guus Sliepen
dd888ca685
Link with libintl if necessary.
2002-09-10 21:46:05 +00:00
Guus Sliepen
c01f78ed36
Clean up after indent.
2002-09-10 21:29:42 +00:00
Guus Sliepen
161f917dd0
Fix compiler warnings.
2002-09-10 09:40:25 +00:00
Guus Sliepen
3bc5543475
Let GCC check format string and arguments of send_request().
2002-09-09 22:41:56 +00:00
Guus Sliepen
6f9f6779e6
Remove redundant spaces.
2002-09-09 22:33:31 +00:00
Guus Sliepen
f75dcef72a
Switch to K&R style indentation.
2002-09-09 21:25:28 +00:00
Guus Sliepen
5fc1ed17f4
Cleanups:
...
- Convert cp to cp(); so that automatic indenters work.
- Convert constructions like if(x == NULL) to if(!x).
- Move all assignments out of conditions.
2002-09-09 19:40:12 +00:00
Guus Sliepen
5638b9830f
Why don't these connection_t's get cleaned up?
2002-09-06 21:22:35 +00:00
Guus Sliepen
a8ddba42b9
Fix MST algorithm.
2002-09-06 21:02:36 +00:00
Guus Sliepen
66741978e1
Reset the *correct* seqnos.
2002-09-06 14:31:12 +00:00
Guus Sliepen
d5b61fc0cd
edge_weight_compare() shouldn't rely on edge_compare().
2002-09-06 12:19:16 +00:00
Guus Sliepen
fbf8a47879
Remove global edge_tree.
2002-09-06 10:23:52 +00:00
Guus Sliepen
641705df90
Only reset seqno's when a key is sent or received.
2002-09-06 09:48:39 +00:00
Guus Sliepen
6fdaa8e1ca
Small updates.
2002-09-04 19:57:53 +00:00
Guus Sliepen
8b2b67e26c
Generalized request broadcasting/forwarding.
2002-09-04 16:26:45 +00:00
Guus Sliepen
431fa10b37
Small fixes.
2002-09-04 14:17:28 +00:00
Guus Sliepen
82ebfc923d
Revert to edge and graph stuff. This time, use a directed graph.
2002-09-04 13:48:52 +00:00
Guus Sliepen
973530db62
Just ignore wrong ADD_NODEs instead of replying with a DEL_NODE, in the
...
hope other DEL_NODEs will catch up eventually.
2002-09-04 08:48:03 +00:00
Guus Sliepen
2af0bcc8fd
Don't forget to set prevhop to myself for new connections.
2002-09-04 08:36:34 +00:00
Guus Sliepen
698d6ddac6
Prevent looping DEL_NODE/ADD_NODE messages after a node disconnects.
2002-09-04 08:33:08 +00:00
Guus Sliepen
4a7c2026ae
Reduce KEY_CHANGED traffic.
2002-09-04 08:02:33 +00:00
Guus Sliepen
ddb96301a3
Woops.
2002-09-03 22:49:55 +00:00
Guus Sliepen
b5bb06200e
A reachable node is always more preferable to an unreachable one...
2002-09-03 22:37:49 +00:00
Guus Sliepen
d134c4542d
Drop graph and edge stuff. Use new node stuff instead.
2002-09-03 20:43:26 +00:00
Guus Sliepen
2cb21f8810
Replacement for the current routing algorithm.
2002-09-02 22:40:42 +00:00
Guus Sliepen
912e7e968f
Gettext 1.11.5 compatibility.
2002-08-24 12:11:40 +00:00
Guus Sliepen
18948c5784
Added support for raw sockets. This can be used instead of tun/tap devices.
2002-07-18 14:30:45 +00:00
Guus Sliepen
227ccd3a8a
Allow tincd to be locked into main memory.
2002-07-16 13:12:49 +00:00
Guus Sliepen
afabbd6b90
Added stub device.c for Cygwin.
2002-07-11 12:57:06 +00:00
Guus Sliepen
8949404db0
Started port to Cygwin.
2002-07-11 12:55:58 +00:00
Guus Sliepen
c98db1b861
Clear subnets before using them.
2002-07-11 12:42:43 +00:00
Guus Sliepen
8dd09568f1
Allow identical subnets from different owners.
2002-07-10 11:32:33 +00:00
Guus Sliepen
36cbaa32f4
Allow list of environment variables to be passed to execute_script().
...
When executing host-up/down scripts, include the address and port of the
remote host.
2002-07-10 11:27:06 +00:00
Guus Sliepen
a1bd878e11
Fix for prefixlengths of 32 (IPv4) and 128 (IPv6) bits.
2002-06-21 17:49:48 +00:00
Guus Sliepen
627f7c22b4
s/sliepen.warande.net/sliepen.eu.org/g
...
s/itimmermans@bigfoot.com/ivo@o2w.nl/g
2002-06-21 10:11:37 +00:00
Guus Sliepen
940fcb6701
Reset listen_sockets after SIGHUP.
2002-06-13 16:12:40 +00:00
Guus Sliepen
de6835a9dd
Include darwin/device.c in distribution.
2002-06-10 15:08:23 +00:00
Guus Sliepen
69b758879e
Added Darwin (MacOS/X) tun device handling.
2002-06-10 14:33:40 +00:00
Ivo Timmermans
944df3eeee
Include netbsd's device.c in make dist
2002-06-09 16:19:20 +00:00
Guus Sliepen
78e8852184
- netinet/* include files depend on netinet/in_systm.h.
...
- Squash bashism in configure.in.
2002-06-08 14:08:57 +00:00
Guus Sliepen
e47e51e9d1
Use inttypes.h instead of stdint.h.
2002-06-08 13:46:43 +00:00
Guus Sliepen
116ba3b3da
Cleanup:
...
- Remove checks for specific OS's, instead check for #defines/#includes.
- Use uint??_t where appropriate.
- Mask handling functions use void pointers to get rid of silly casts.
2002-06-08 12:57:10 +00:00
Wessel Dankers
d333fca4d6
This should work much better.
2002-06-07 11:14:05 +00:00
Guus Sliepen
14e570f5ee
Use correct includes on NetBSD.
2002-06-05 00:25:55 +00:00
Guus Sliepen
5886b6a10d
Make it work correctly with NetBSD tun device.
2002-06-05 00:20:40 +00:00
Guus Sliepen
4856d8e1f8
Support RSA_PUBKEYs (as opposed to RSAPublicKeys) so tinc accepts
...
public keys generated by the OpenSSL command line tools.
2002-06-02 16:06:33 +00:00
Guus Sliepen
2be8e69ca1
Only purge once when there are no more connections.
2002-05-01 09:15:58 +00:00
Guus Sliepen
7caa253df4
Fix very stupid bug in node_del(), which might have caused corruption of
...
subnets.
2002-04-29 20:05:07 +00:00
Guus Sliepen
67a6d7bcc4
Informative log message if execl() failed.
2002-04-27 11:40:45 +00:00
Ivo Timmermans
e6a67fc439
Typo
2002-04-26 18:13:00 +00:00
Guus Sliepen
b6ad4ce35a
Add BindToAddress variable, similar to the late BindToIP.
2002-04-23 07:49:38 +00:00
Guus Sliepen
40c2e36a96
Support for MaxOS/X.
2002-04-19 14:06:40 +00:00
Ivo Timmermans
97d492d9e2
Put #ifndef checks for HAVE_RAND_PSEUDO_BYTES in the correct places.
2002-04-18 20:09:05 +00:00
Guus Sliepen
5df8a8cb3f
masklength is better known as prefixlength.
2002-04-09 11:42:48 +00:00
Guus Sliepen
ad6b120349
Fix maskcheck() and maskcmp().
2002-04-05 09:11:38 +00:00
Guus Sliepen
d8c249008a
check_rsa() is broken, I don't know why, just remove it for now.
2002-04-01 21:28:39 +00:00
Guus Sliepen
438419734e
Don't check_network_activity() if select() is interrupted by a signal.
2002-04-01 21:28:05 +00:00
Guus Sliepen
0fe3dc38ed
Fix format strings.
2002-03-27 16:00:38 +00:00
Guus Sliepen
420f46acb0
Remove symlink to device.c when doing a make dist.
2002-03-27 15:47:06 +00:00
Guus Sliepen
c6d2f6c620
Remove cruft.
2002-03-27 15:26:44 +00:00
Guus Sliepen
5eba1e1f6f
Limit the amount of packets in a queue to 8.
2002-03-27 15:01:37 +00:00
Guus Sliepen
0e7136027c
Merge do_prune() with build_fdset(). Probably fixes the invalid filedescriptor error.
2002-03-27 14:02:36 +00:00
Guus Sliepen
7d07df71f9
Fix execute_script().
2002-03-26 12:00:38 +00:00
Guus Sliepen
2de5e0eef9
Send REQ_KEY only once until ANS_KEY has arrived.
2002-03-25 15:51:58 +00:00
Guus Sliepen
33d8747021
Set myself->status.reachable.
2002-03-25 13:54:49 +00:00
Guus Sliepen
2749b997df
Configuration variables were still handled case sensitively.
2002-03-24 17:14:01 +00:00
Guus Sliepen
c73bdd6bc8
OpenBSD tun device uses address family number instead of Ethernet type.
2002-03-24 17:08:38 +00:00
Guus Sliepen
8379c14b7f
Respect type field.
2002-03-24 16:50:58 +00:00
Guus Sliepen
4252ae83a4
Set $INTERFACE correctly when using ethertap while compiled with tun/tap support.
2002-03-24 16:36:56 +00:00
Guus Sliepen
d699f3079c
Execute hosts/name-up when a node becomes reachable, and hosts/name-down
...
when it becomes unreachable.
2002-03-24 16:28:27 +00:00
Guus Sliepen
6ad5dd1a9a
Don't try to execute scripts unless they exist.
2002-03-24 16:22:59 +00:00
Guus Sliepen
594d5b5d15
Reset retry timeout when receiving the first PONG, not right after receiving the ACK.
2002-03-23 20:21:10 +00:00
Guus Sliepen
cbd8133ab4
Don't run graph algorithms if no edge is deleted in terminate_connection().
2002-03-23 20:13:56 +00:00
Guus Sliepen
6aee1ad021
free() request strings when deleting past requests from the tree.
2002-03-23 20:12:29 +00:00
Guus Sliepen
ccea26e004
send_ack() was broken.
2002-03-23 20:01:05 +00:00
Guus Sliepen
3c5655f59e
Fix compiler warnings, strictly use long int and %lx for options.
2002-03-22 13:31:18 +00:00
Guus Sliepen
d6b70ed6f8
Fix add_edge_h().
2002-03-22 12:41:54 +00:00
Guus Sliepen
52e7699273
- Added support for jumbograms.
...
- Remove tcpaddress from edges, it is not used at all.
- Last bits of code to prevent looping requests.
2002-03-22 11:43:48 +00:00
Guus Sliepen
9da5390666
Put a break on requests that run around in circles.
2002-03-21 23:11:53 +00:00
Guus Sliepen
f48f8f4fed
Updated SSSP algorithm to automatically detect indirect links (if a node uses
...
different addresses for connections to other nodes).
2002-03-19 22:48:25 +00:00
Guus Sliepen
5c2d74de86
Don't use s6_addr[16|32] anymore.
2002-03-19 00:08:23 +00:00
Guus Sliepen
9d99a789c3
Cleanup.
2002-03-19 00:07:09 +00:00
Guus Sliepen
305505f5ec
Remember sockaddrs of listening sockets, use appropriate one when sending
...
UDP packets.
2002-03-18 22:47:20 +00:00
Guus Sliepen
106fc2b769
Fix #define s6_addr32.
2002-03-18 14:39:37 +00:00
Guus Sliepen
813c369a8f
#define s6_addr32, needed for FreeBSD.
2002-03-18 14:19:02 +00:00
Guus Sliepen
b2579385de
Only unmap IPv6 addresses.
2002-03-17 16:08:39 +00:00
Guus Sliepen
8b84c44175
Unmap v4mapped sockaddrs.
2002-03-17 15:59:29 +00:00
Guus Sliepen
07e37f8da0
Typo.
2002-03-15 15:50:14 +00:00
Guus Sliepen
e0dee53770
Different way of detecting neighbor solicitation requests.
2002-03-15 15:40:40 +00:00
Guus Sliepen
0e93f0aa02
Oops, don't forget to actually put the checksum in the response packet.
2002-03-15 15:08:21 +00:00
Guus Sliepen
e1de9ca990
Neighbor solicitation requests now work (I think).
2002-03-15 14:41:57 +00:00
Guus Sliepen
4b3aef9e69
Revert changes to Kruskal's algo.
2002-03-12 16:30:15 +00:00
Guus Sliepen
f219f156cf
Put #ifdef NEIGHBORSOL around corresponding code.
2002-03-12 14:25:04 +00:00
Guus Sliepen
ecad9e9289
Remove silly cache thingy.
2002-03-12 14:20:44 +00:00
Guus Sliepen
d6c2c4f2b7
Packet sequence number/authentication warnings only if debug_lvl >= 5.
2002-03-12 14:19:51 +00:00
Guus Sliepen
2e7db2a693
Simplified implementation of Kruskal's minimum spanning tree algorithm.
2002-03-12 13:42:23 +00:00
Guus Sliepen
d2e0ed533c
New strategy: forward icmp6 neighbor solicitations to intended target.
2002-03-11 13:56:00 +00:00
Guus Sliepen
46fa10cec7
Try to reply to neighbor solicitation requests.
2002-03-11 13:14:53 +00:00
Guus Sliepen
c2713ba7a5
prune_connections() before build_fdset().
2002-03-11 11:45:12 +00:00
Guus Sliepen
4fda4560bb
Cleanups, spelling fixes, allow symbol names for signals (-k option),
...
don't remove pidfile if other tincd is still running.
2002-03-11 11:23:04 +00:00
Guus Sliepen
5ffeb13d65
Don't retry to make outgoing connections when exitting.
2002-03-10 16:09:15 +00:00
Guus Sliepen
024ab44d98
Fix forwarding of IPv6 packets.
2002-03-10 14:04:48 +00:00
Guus Sliepen
0c16add71c
Check if BindToDevice and PriorityInheritance are supported.
2002-03-01 15:14:29 +00:00
Guus Sliepen
7d5741859e
Woops.
2002-03-01 14:33:48 +00:00
Guus Sliepen
ab90fa9bd1
Document and clean up MAC address expiry.
2002-03-01 14:25:10 +00:00
Guus Sliepen
14979f835d
- Global time_t now, so that we don't have to call time() too often.
...
- MAC addresses expire after a time configurable by MACExpire (default 600
seconds)
2002-03-01 14:09:31 +00:00
Guus Sliepen
f93b1334e0
Create/bind TCP and UDP listening sockets in pairs.
2002-03-01 13:18:54 +00:00
Guus Sliepen
c2b738e7b5
If "PriorityInheritance = yes" is specified in tinc.conf, the value of the
...
TOS field of the tunneled packets will be passed on to the UDP packets tinc
sends out.
2002-03-01 12:26:56 +00:00
Guus Sliepen
80ea653e8d
Fix listening sockets.
2002-03-01 12:25:58 +00:00
Guus Sliepen
7f58ed7685
Make BindToInterface work.
2002-03-01 11:18:34 +00:00
Guus Sliepen
17bc5220c3
Fix send_request() bug.
2002-02-27 22:37:55 +00:00
Guus Sliepen
50403909b6
Allow multiple listening sockets.
2002-02-26 23:26:41 +00:00
Guus Sliepen
2ac7be0d51
Tweaking IPv6 support.
2002-02-26 22:47:51 +00:00
Guus Sliepen
23fda5688e
- Change SA_LEN to SALEN, former one is already defined on some platforms.
...
- Use SALEN everywhere appropriate.
2002-02-20 22:37:38 +00:00
Guus Sliepen
dbc5b5bb5e
- Use gai_strerror() where appropriate
...
- Clear hints before using them with getaddrinfo()
- Use sa_len on platforms that support them
2002-02-20 22:15:32 +00:00
Guus Sliepen
28cc9a6488
Preserve inpkt->len, needed for broadcasts.
2002-02-20 19:31:15 +00:00
Guus Sliepen
c6d0158831
Protocol now also exchanges cipher/digest/maclength/compression for the
...
meta connection.
2002-02-20 19:25:09 +00:00
Guus Sliepen
626d5956d2
Cache results of lookup_subnet_...().
2002-02-20 17:16:15 +00:00
Guus Sliepen
e8e69460a7
Fix maskcmp() and maskcpy().
2002-02-20 17:15:33 +00:00
Guus Sliepen
ed50931290
Forward packets in router mode.
2002-02-20 16:04:59 +00:00
Guus Sliepen
8c91fac315
Use AF_UNSPEC for listening sockets if AddressFamily = any.
2002-02-20 16:04:39 +00:00
Guus Sliepen
76f01453df
Fix segfault when receiving HUP signal.
2002-02-20 16:04:07 +00:00
Guus Sliepen
c2b9c06062
- Non-blocking connect()s.
...
- Socket handling revamped to use sockaddr_t.
- tinc can now tunnel over IPv6.
- Handle all addresses and subnets in network byte order.
Only convert them when they need to be printed.
- IPv6 subnets bigger than /128 now work.
- Use %s and strerror(errno) instead of %m.
2002-02-18 16:25:19 +00:00
Guus Sliepen
2fb8a62ede
Added device.c for NetBSD, actually a copy of the OpenBSD one.
2002-02-12 14:40:12 +00:00
Guus Sliepen
f64b41a73b
Get rid of sys/signal.h.
2002-02-12 14:36:45 +00:00
Guus Sliepen
dd611fb4f9
Don't use sa_sigaction (which NetBSD doesn't like) at all if we don't use siginfo.
2002-02-12 14:29:00 +00:00
Guus Sliepen
d9a62c6354
Added support for packet compression, thanks to Mark Glines.
...
Add "Compression = <level>" to the host config files, where level can be
0 (off), or any integer between 1 (fast) and 9 (best).
2002-02-11 15:59:18 +00:00
Guus Sliepen
94b171b305
Small fix.
2002-02-11 14:20:46 +00:00
Guus Sliepen
1708997bc8
- If no PrivateKeyFile is specified, /etc/tinc/netname/rsa_key.priv is assumed.
...
- Check RSA key before using it.
2002-02-11 14:20:21 +00:00
Guus Sliepen
1c34ba7fb8
Sensible defaults for $INTERFACE.
2002-02-11 12:33:01 +00:00
Guus Sliepen
24cc2a9065
Last bits of the merger.
2002-02-11 10:16:18 +00:00
Guus Sliepen
5bf4b88666
Forgot to merge new files from pre5.
2002-02-11 10:05:58 +00:00
Guus Sliepen
f0aa9641e8
Merging of the entire pre5 branch.
2002-02-10 21:57:54 +00:00
Ivo Timmermans
c2752b961c
Conversion to struct addrinfo is almost complete for this file.
2001-11-16 22:41:38 +00:00
Ivo Timmermans
4f47da5b87
Don't include netutl.h.
2001-11-16 22:40:26 +00:00
Ivo Timmermans
a59bbc7231
Fixed silly typo: "np" instead of "no"
2001-11-16 22:31:41 +00:00
Ivo Timmermans
bf664c054f
get_config_subnet needs to be fixed.
2001-11-16 22:31:15 +00:00
Ivo Timmermans
9b2b374734
route_ipv4 and route_ipv6 replaced by route_ip.
2001-11-16 17:40:50 +00:00
Ivo Timmermans
a4938b22e7
Don't include netutl.h.
2001-11-16 17:39:59 +00:00
Ivo Timmermans
ccda709f82
lookup_node_udp changed.
2001-11-16 17:39:38 +00:00
Ivo Timmermans
836766d4c5
First part of rewriting things to use struct addrinfo.
2001-11-16 17:38:39 +00:00
Ivo Timmermans
251f87c842
(re)added port to struct node_t
2001-11-16 15:56:44 +00:00
Ivo Timmermans
6cf744e4b2
Don't include netutl.h.
2001-11-16 12:22:02 +00:00
Ivo Timmermans
a79252af43
Obsoleted.
2001-11-16 12:21:22 +00:00
Ivo Timmermans
331d9402e8
Don't compile/link netutl.c.
2001-11-16 12:16:28 +00:00
Ivo Timmermans
f95e6ca8f6
get_config_{ip,port} removed.
2001-11-16 12:14:20 +00:00
Ivo Timmermans
31db57bb4a
Changed to use struct addrinfo where needed.
2001-11-16 12:13:34 +00:00
Ivo Timmermans
f1b20b3ded
Obsoleted all IP<x> types in favor of struct addrinfo
2001-11-16 12:10:54 +00:00
Ivo Timmermans
fb6dc0b089
Removed definitions of ipv4_t, ipv6_t, port_t
2001-11-16 12:08:38 +00:00
Ivo Timmermans
3ef15f2554
Changed lookup_connection to use struct addrinfo
2001-11-16 12:02:17 +00:00
Ivo Timmermans
74e1299fb5
Changed prototype for lookup_connection to use struct addrinfo
2001-11-16 12:01:48 +00:00
Ivo Timmermans
51b72b75f2
Use struct addrinfo in connection_t to hold all host data such as IP
...
address and port
2001-11-16 00:23:28 +00:00
Ivo Timmermans
72395f989c
Deprecated get_config_ip and get_config_port
2001-11-16 00:13:08 +00:00
Guus Sliepen
e06415e3d9
More fixes for Solaris.
2001-11-05 19:09:08 +00:00
Guus Sliepen
25a804c94e
Various fixes needed for Solaris.
2001-11-05 19:06:07 +00:00
Guus Sliepen
b2d5002ff1
Correctly check if subnet owner exists.
2001-11-04 23:48:27 +00:00
Guus Sliepen
ede6671c13
Be liberal in what you accept: allow unknown edges to be deleted.
2001-11-04 23:29:50 +00:00
Guus Sliepen
cf0e133e19
*** empty log message ***
2001-11-03 22:53:02 +00:00
Guus Sliepen
e5047d2835
Several bugfixes.
2001-11-03 21:22:02 +00:00
Guus Sliepen
8910cbd67e
Use PEM functions as suggested by OpenSSL docs.
2001-11-03 21:21:04 +00:00
Guus Sliepen
8e74c5bee4
Some very small fixes
2001-10-31 20:37:54 +00:00
Guus Sliepen
ffb88ff641
Avoid connecting to another node twice, and check name of outgoing connections.
2001-10-31 20:22:52 +00:00
Guus Sliepen
6d333ad680
Show cfg->variable instead of cfg->value when complaining about wrong type.
2001-10-31 20:07:17 +00:00
Guus Sliepen
54b756f7df
Don't forget to read public RSA key when making an outgoing connection.
2001-10-31 20:02:06 +00:00
Guus Sliepen
c0a3f67a5d
- Small fixes to graph algorithms
...
- More control over tap device, ability to set interface name to something
other than the netname.
- Export NETNAME, DEVICE and INTERFACE environment variables to scripts.
2001-10-31 12:50:24 +00:00
Guus Sliepen
2165931c62
More updates to protocol handlers and reimplemented terminate_connection().
2001-10-30 16:34:32 +00:00
Guus Sliepen
87ad5c97a9
Various fixes, tinc is now somewhat capable of actually working again.
2001-10-30 12:59:12 +00:00
Guus Sliepen
cc9473d8c6
Working version of Kruskal's algorithm. The running time is very bad though.
2001-10-29 13:14:57 +00:00
Guus Sliepen
b6298e2c08
- More changes needed for Kruskal's algorithm
...
- Implemented a breadth-first search algorithm as a cheap substitution for a
single-source shortest path algorithm.
2001-10-28 22:42:49 +00:00
Guus Sliepen
66067cc9c1
- More s/vertex/edge/g
...
- Implementation of Kruskal's minimum spanning tree algorithm.
2001-10-28 10:16:18 +00:00
Guus Sliepen
94497336ef
What was I thinking? s/vertex/edge/g.
2001-10-28 08:41:19 +00:00
Guus Sliepen
b98d9787fd
Various small fixes to make tinc runnable again.
2001-10-27 15:19:13 +00:00
Guus Sliepen
ac066bb057
Make sure everything links.
2001-10-27 13:13:35 +00:00
Guus Sliepen
82e3837109
Big bad commit:
...
- Transition to new node/vertex/connection structures
- Use new configuration handling everywhere
- Linux tun/tap device handling cleanup
- Start of IPv6 support in route.c
It compiles, but it won't link.
2001-10-27 12:13:17 +00:00
Guus Sliepen
1935c44a1e
Support new files (node/vertex/device.[ch]) and OpenBSD.
2001-10-13 13:53:07 +00:00
Guus Sliepen
26e517dd37
Forgot the tun specific stuff.
2001-10-12 15:52:03 +00:00
Guus Sliepen
ad61c20f42
Added OpenBSD tun device handling. Untested though.
2001-10-12 15:49:11 +00:00
Guus Sliepen
0c6321a67f
Forgot to remove some old #ifdef stuff.
2001-10-12 15:38:35 +00:00
Guus Sliepen
6014c7e637
Solaris tun device handling cleaned up a bit and added.
2001-10-12 15:33:21 +00:00
Guus Sliepen
623c7ee030
Added FreeBSD tap device handling.
2001-10-12 15:22:59 +00:00
Guus Sliepen
ec34f25228
- Split tap device stuff out of net.[ch]
...
- Each OS gets it's own device.c to get rid of evil #ifdefs.
- Cleaned up Linux ethertap and tun/tap handling.
2001-10-12 15:16:03 +00:00
Guus Sliepen
0bbace18e9
More updates to new node/vertex/connection combo.
2001-10-10 20:35:10 +00:00
Guus Sliepen
ea607d2d92
Revamp configuration handling:
...
- Store everything in AVL trees (fast lookup)
- No need for hazahaza anymore
- Parse values when needed
- This simplifies a lot of config variable lookups.
2001-10-10 20:34:27 +00:00
Guus Sliepen
5904806dc8
Removed everything from connection.c that has already been moved to node.c and
...
vertex.c.
2001-10-10 09:42:29 +00:00
Guus Sliepen
ec0c16b9b6
Further implementation of doc/CONNECTIVITY. connection.[ch] is now split into a
...
node, vertex and connection part.
2001-10-10 08:49:47 +00:00
Guus Sliepen
f22b941751
Small corrections.
2001-10-09 19:37:10 +00:00
Guus Sliepen
49a2cd806c
Started implementing doc/CONNECTIVITY.
2001-10-09 19:30:30 +00:00
Guus Sliepen
fcc3ded75f
Fix bug when dropping an old connection in favour of a new one from the
...
same host.
2001-10-08 15:37:14 +00:00
Guus Sliepen
1ef90a87fd
- Use ping timeout mechanism to close connections that don't authenticate
...
in time.
- Fix potential segmentation fault in check_dead_connections().
2001-10-08 13:37:30 +00:00
Guus Sliepen
ce9fd32c04
Fix bug where tinc would crash because of a portscan or a connection from a
...
tinc daemon with a different version.
2001-10-08 11:59:08 +00:00
Guus Sliepen
21027b1d57
- Renamed lastbutonehop to prevhop.
...
- Added connection_t *via to connection_t, this keeps record of where
to send UDP packets to.
2001-10-08 11:47:55 +00:00
Guus Sliepen
18d1233c40
Fill in next- and lastbutonehop for myself.
2001-09-25 13:39:11 +00:00
Guus Sliepen
ec100a58b4
Try next connectto instead of the same over and over.
2001-09-25 13:35:45 +00:00
Guus Sliepen
4d3de3b6a9
Show next- and lastbutonehop when dumping connectionlist to syslog.
2001-09-24 14:16:29 +00:00
Guus Sliepen
24a2c7e51a
Not only keep track of nexthop, but also of lastbutonehop. If destination cl
...
wants indirectdata, send it to the lastbutonehop instead, unless it too has
requested so, and so on.
2001-09-24 14:12:00 +00:00
Guus Sliepen
154733927a
- Try old TUN/TAP ioctl() request if the one from if_tun.h fails.
...
- Be more verbose about the kind of tap device used.
2001-09-24 13:31:15 +00:00
Ivo Timmermans
950c934e0b
Killing tincd with SIGINT causes it to toggle between the current
...
debug level and level 5. Useful to debug a running tincd.
2001-09-05 18:38:09 +00:00
Guus Sliepen
a54ec980e0
config_t* is a const parameter in get_config_val().
2001-09-01 12:46:49 +00:00
Guus Sliepen
68e23b1c9e
Optional signal number for -k option.
2001-09-01 12:36:53 +00:00
Guus Sliepen
8ed27d40f3
Revised reconnection mechanism, always try out all ConnectTo lines.
2001-09-01 12:36:06 +00:00
Guus Sliepen
ef1facc607
Remove IndirectData support for now, new implementation will be added
...
later.
2001-09-01 12:02:39 +00:00
Guus Sliepen
8b5e421130
Fix signed comparison bug in lookup_subnet_ipv4().
2001-08-28 20:52:39 +00:00
Guus Sliepen
e1184ad15d
Don't send DEL_HOSTs when !status.meta
2001-08-17 18:14:04 +00:00
Guus Sliepen
30d22474cc
Explicitly log which type of tunnel device is used.
2001-07-24 20:14:30 +00:00
Guus Sliepen
7e86cf91e3
The val variable in a config_t is never used as a long.
2001-07-24 20:13:42 +00:00
Guus Sliepen
43923d2b10
Write public key to rsa_key.pub instead of rsa_key.priv (if not host
...
configuration file is found).
2001-07-24 20:04:22 +00:00
Guus Sliepen
44e9d6a287
Don't use %m in fprintf().
2001-07-24 20:03:40 +00:00
Guus Sliepen
fcbe215d64
Woohoo! tinc now compiles, runs and actually *works* on Solaris!
...
Tested on a SparcStation 20MP running Solaris 7. (Thanks, jiggel!)
2001-07-21 20:21:25 +00:00
Guus Sliepen
533ee1206f
Always close all sockets in terminate_connection().
2001-07-21 15:46:34 +00:00
Guus Sliepen
acb853205d
Updated terminate_connection() so you can choose if DEL_HOSTs should be
...
sent or not.
2001-07-21 15:34:18 +00:00
Guus Sliepen
12f6b80429
Added purge_tree for connection_t's which are no longer in the connection,
...
active or id trees, but which may still be referenced. This tree is flushed
when it is safe, this replaces purge_connection_tree().
Also lots of bugfixes related to the new trees.
2001-07-20 20:25:10 +00:00
Guus Sliepen
37ed4265fa
Remove all unnecessary status.meta and status.active checks.
2001-07-20 13:54:19 +00:00
Guus Sliepen
5e2ded68bf
Correctly use the active_tree.
2001-07-19 12:29:40 +00:00
Guus Sliepen
319e0cb48e
Split connection list into two lists:
...
- one list to handle all incoming/outgoing TCP connections
- another list to handle all UDP connections
This will prevent race conditions.
2001-07-15 18:07:31 +00:00
Guus Sliepen
b3074590b1
Correct inclusion of standard if_tun.h header file.
2001-07-15 14:21:12 +00:00
Guus Sliepen
5dc4ade0b9
Don't load table of verbose OpenSSL errormessages.
2001-07-04 08:43:32 +00:00
Guus Sliepen
1e2bdc2b6d
- Always use <openssl/include.h> instead of just <include.h>
...
- Check if RAND_pseudo_bytes() exists, otherwise just use RAND_bytes()
2001-07-04 08:41:36 +00:00
Guus Sliepen
6bd93e4c06
Check for all potential duplicate entries in the id tree.
2001-07-01 21:42:13 +00:00
Guus Sliepen
9645cabc8e
Fix compiler warning.
2001-07-01 09:21:14 +00:00
Guus Sliepen
6365d0627b
Fix printf format bug.
2001-07-01 09:21:01 +00:00
Guus Sliepen
c9591bd1de
Fix gcc 3.0 warnings.
2001-06-29 13:09:55 +00:00
Guus Sliepen
402b85c482
Log error if two hosts connect with same IP/port tuple.
2001-06-29 13:09:32 +00:00
Guus Sliepen
5d34503574
Execute tinc-down BEFORE tap device is closed. This is a. more symmetric
...
(tinc-up is started after tap device is opened) and b. is needed for
tun/tap device, where the interface does not exist anymore after the
device file is closed.
2001-06-29 10:30:18 +00:00
Guus Sliepen
9e96840da8
Remove #warnings I used for debugging stuff.
2001-06-21 16:37:47 +00:00
Guus Sliepen
04ec0b82ab
- Solaris compile fixes
...
- Set mymac to broadcast MAC so that ifconfig hw ether <...> is really not
needed anymore.
- Forwarding of indirect packets when in switch mode (because the kernel
will not do it for us then).
2001-06-21 16:16:32 +00:00
Guus Sliepen
9a0a50cd3c
Woops - big bug in send_key_changed fixed.
2001-06-09 10:00:34 +00:00
Guus Sliepen
ba918dce28
Only reset seconds_till_retry when we activate the outgoing connection.
2001-06-08 18:02:10 +00:00
Guus Sliepen
96ef7becdd
Fixes to make switching work between hosts that have no meta-connection.
2001-06-06 19:12:38 +00:00
Guus Sliepen
ce6c8e6d08
Log and warn about duplicate subnet_add()'s for the same subnet.
2001-06-06 19:11:16 +00:00
Guus Sliepen
9cd9b03923
Add missing? counting of total_socket_in.
2001-06-05 19:45:47 +00:00
Guus Sliepen
7bd7f5b436
You can now put an option "Mode" in tinc.conf, and choose from:
...
- Mode = router (default, work like tinc has always worked)
- Mode = switch (work like a switch)
- Mode = hub (work like a hub, broadcasting everything)
2001-06-05 19:39:54 +00:00
Guus Sliepen
edd6734faa
Fix bug where lookup_subnet_ipv4() could go into an infinite loop.
2001-06-05 18:07:14 +00:00
Guus Sliepen
fa376fbd4e
- This oneliner removes the need for ifconfig tap? hw ether fe:fd:0:0:0:0
2001-06-05 16:31:59 +00:00
Guus Sliepen
4f9dad0972
- tinc can now act as a switch or a hub too (as opposed to a router only)
...
- cleaner initialisation of "UNKNOWN" and "MYSELF" names
2001-06-05 16:09:55 +00:00
Guus Sliepen
428482d86f
Added proxy-arp support. No more ifconfig -arp needed. Works like a charm
...
under FreeBSD now :).
2001-06-04 11:14:35 +00:00
Guus Sliepen
0a3c8cefd4
Fix subnet_lookup() for overlapping subnets. Needs rethinking.
2001-06-01 08:02:09 +00:00
Guus Sliepen
7db1b999c8
Make sure Solaris is happy too.
2001-05-28 08:56:57 +00:00
Guus Sliepen
65247c063b
Small fixes to allow correct compilation under FreeBSD (tested with 4.3)
2001-05-28 08:21:43 +00:00
Guus Sliepen
fcf869cd42
TCPonly now works (in a relatively clean way too).
2001-05-25 11:54:28 +00:00
Guus Sliepen
a5e2ae6b2b
With recent kernels the tun device file is located in /dev/net.
2001-05-25 10:08:11 +00:00
Guus Sliepen
4dee76522e
Small fixes:
...
- Fix compiler warnings (one was a real (but harmless) bug)
- Don't send PING packets if there is UDP traffic
- Correctly terminate strings containing salt for PING/PONG packets
2001-05-25 08:36:11 +00:00
Guus Sliepen
bfc5d6014e
Only send key_changed if it was previously requested.
2001-05-24 21:52:26 +00:00