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