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