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
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
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
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
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
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
ef1facc607
Remove IndirectData support for now, new implementation will be added
...
later.
2001-09-01 12:02:39 +00:00
Guus Sliepen
e1184ad15d
Don't send DEL_HOSTs when !status.meta
2001-08-17 18:14:04 +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
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
6365d0627b
Fix printf format bug.
2001-07-01 09:21:01 +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
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
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
fcf869cd42
TCPonly now works (in a relatively clean way too).
2001-05-25 11:54:28 +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
Guus Sliepen
d1b597758e
Add randomness to PING/PONG packets to prevent crypto attacks on quiet
...
tunnels.
2001-05-24 21:29:09 +00:00
Guus Sliepen
e4f3d93ec6
- s/ip_t/ipv4_t/g
...
- Add "salt" to the beginning of UDP packets. Replaces length field which
is not useful anyway.
2001-05-07 19:08:46 +00:00
Guus Sliepen
156ec67652
Check indirectdata option before forwarding certain requests.
2001-03-13 21:33:31 +00:00
Guus Sliepen
34f9e6cf2d
- route.c is now used to determine destination
...
- flags are removed, since they were not used at all. Use options instead.
- indirectdata works now, tcponly almost...
- made functions that don't return useful information void
2001-03-04 13:59:32 +00:00
Guus Sliepen
d2a54597e0
Added explaination of our key exchange using RSA encryption.
2001-03-02 11:25:56 +00:00
Guus Sliepen
4fa12eb85d
Removed lots of compiler warnings.
2001-02-27 16:37:31 +00:00
Guus Sliepen
34b7a876c3
- Make sure METAKEY is smaller than the modulus of the RSA key
...
- Get symmetric key from the least significant bytes of the RSA message
2001-02-26 11:37:20 +00:00
Guus Sliepen
82455be966
Implemented new authentication scheme from doc/SECURITY2.
2001-02-25 19:09:45 +00:00
Guus Sliepen
54881faf6f
Encrypt network packets in CBC mode instead of CFB mode.
...
(This breaks compatibility with all previous versions!)
2001-02-25 16:34:19 +00:00
Guus Sliepen
153fc35e57
Corrected check for errors after read() calls.
2001-02-25 11:09:29 +00:00
Guus Sliepen
f1cb3d8fa5
Removed another local definition of the variable "errno"
2001-02-06 10:42:27 +00:00
Guus Sliepen
f777c1807d
FreeBSD compile fixes (thanks to XeF4)
2001-02-06 10:12:51 +00:00
Guus Sliepen
11f3e9d138
- Squashed another nasty bug.
2001-01-08 20:35:30 +00:00
Guus Sliepen
447a43d639
- Added indirectdata and tcponly functionality.
2001-01-07 20:19:35 +00:00
Guus Sliepen
d3f889c807
- It's 2001, all copyright notices are updated.
2001-01-07 17:09:07 +00:00
Guus Sliepen
07a08f5539
- Reinstated a queue for outgoing packets.
2001-01-07 15:25:49 +00:00
Guus Sliepen
f7bb205022
- Check and follow symlinks in is_safe_path
...
- By default write keys to tinc config directory
- Small fix in protocol.c
2001-01-06 18:03:41 +00:00
Guus Sliepen
e924096f62
- Let user choose whether keys are in the config files or separate
...
- Use AVL trees instead of RBL trees
- Fixed a lot of annoying subtle bugs! Thanks to gdb...
2001-01-05 23:53:53 +00:00
Guus Sliepen
e1707f7739
- Don't even think about using sscanf with %as anymore
...
- Allow keys to be inside the config files or in a seperate file
- Small fixes
2000-12-22 21:34:24 +00:00
Ivo Timmermans
6327f32f43
Tiny bits of code beautifying
2000-12-05 08:59:30 +00:00
Ivo Timmermans
a0f7af3ed7
New function read_rsa_public_key();
...
In net.c/setup_myself deleted old code to read the public key (which
is now implicitly read in together with the private key).
2000-11-30 23:18:21 +00:00
Guus Sliepen
1eedf54681
- Use only one socket for all UDP traffic (for compatibility)
...
- Write pidfile again after detaching
- Check OS (for handling FreeBSD/Solaris tun/tap stuff)
2000-11-25 13:33:33 +00:00
Guus Sliepen
6f373e6902
- More porting to FreeBSD and Solaris.
2000-11-22 22:05:37 +00:00
Guus Sliepen
5971e352da
- Work with the correct key buffer in ans_key_h
2000-11-22 20:25:27 +00:00
Guus Sliepen
a07602c4fd
- No more %as.
2000-11-22 19:55:53 +00:00
Guus Sliepen
f8b4a000d0
- Cleaned up and checked for some more NULL pointers in rbl.c
...
- Two connection lists: one for incoming connections, sorted on ip/port,
one for connections whose identity we know, sorted on id ofcourse...
2000-11-22 18:54:08 +00:00
Guus Sliepen
408ca91766
- Integrate rbl trees into tinc.
2000-11-20 19:12:17 +00:00
Guus Sliepen
e118ba0a64
Porting to FreeBSD:
...
- Reorganized and added some #includes
2000-11-15 13:33:27 +00:00
Ivo Timmermans
bb2495e569
Use the HAVE_OPENSSL_xxx_H defined from m4/openssl.m4 during
...
configure.
2000-11-15 01:06:13 +00:00
Guus Sliepen
7d0f82bd4b
- Open UDP connection for all known hosts. Comments please.
2000-11-07 22:02:14 +00:00
Guus Sliepen
698191fd2f
- Prepended config_ to all configuration option names, because it confused
...
everything (including myself).
- Use connection oriented UDP sockets for both incoming and outgoing
packets.
2000-11-04 22:57:33 +00:00
Guus Sliepen
afc0579707
- Simplified ping mechanism.
2000-11-04 20:44:28 +00:00
Guus Sliepen
ac47586552
- Forward keys in hex notation, not as binary data.
2000-11-04 16:54:21 +00:00
Guus Sliepen
3f8f067e8b
- Don't forget to set packet cipher for added hosts.
2000-11-04 16:39:19 +00:00
Ivo Timmermans
5065ea32c3
Warnings removal pass: always include config.h first; add a few
...
prototypes in the header files.
This also fixes a few lint errors/warnings.
2000-11-03 22:35:12 +00:00
Guus Sliepen
b7d4d4c177
- Finishing touch: encrypt the meta connections
2000-10-29 22:55:15 +00:00
Guus Sliepen
ec12269355
- Use CFB mode for encrypting packets: it works and we don't need padding.
2000-10-29 22:10:44 +00:00
Guus Sliepen
cea3d8f305
- Small fixes
...
- Do proper key exchange
- Encrypt packets - it works, but there is something wrong with the MAC
header after decryption...
2000-10-29 10:39:08 +00:00
Guus Sliepen
8fa9bc017d
- Removed old encr stuff
2000-10-29 09:19:27 +00:00
Guus Sliepen
2689690dc3
- Enforce correct order of authentication requests
2000-10-29 01:08:09 +00:00
Guus Sliepen
7398002ade
- Fixed ans_key_h
...
- Removed tapsubnet configuration option.
2000-10-29 00:24:31 +00:00
Guus Sliepen
35932fe6c8
- Very big cleanup.
2000-10-29 00:02:20 +00:00
Guus Sliepen
f25868fd2b
- Lots of small fixes
...
- Exchange subnets on acknowledgement of connection
- Do proper lookup when incoming packets from tap
- off-by-a small number-error when reading/sending tap packets
2000-10-28 21:05:20 +00:00
Guus Sliepen
9c2f805255
- Lots of little stuff modified
...
- Succesfully reads in subnets from host config file now and adds them to
the list.
2000-10-24 15:46:18 +00:00
Guus Sliepen
52b842f807
- Fixed all debug levels.
...
- Seed PRNG before generating a challenge
- Strange thing in challenge decryption: it fails if first bit is set!?
2000-10-21 11:52:08 +00:00
Guus Sliepen
9f64499e40
- tinc now really does public/private key encryption! It even works, whee!
2000-10-20 15:34:38 +00:00
Guus Sliepen
20301888b7
- More fixing. Tinc daemons can now even create activated connections.
2000-10-16 19:04:47 +00:00
Guus Sliepen
bb3d18d56f
- Fixing little things
...
- Two tinc daemons can connect to eachother now (but they disconnect right
after the ACKs).
2000-10-16 16:33:30 +00:00
Guus Sliepen
85adeef212
- The daemon actually runs now (somewhat)
...
- Added support for tun/tap driver (autodetect!)
- More sophisticated checkpoint functionality
- Updated dutch translation
2000-10-15 00:59:37 +00:00
Guus Sliepen
e9635ae38e
- Second fixing-things pass: it even links now.
...
- Lots of FIXME comments added to the source code.
2000-10-14 17:04:16 +00:00
Guus Sliepen
183a8edd22
- Fixing-things pass: every source file compiles into an object file now,
...
but linking tincd does not work yet (must link with openssl libs and
define some missing functions).
2000-10-11 22:01:02 +00:00
Guus Sliepen
6e39481d8f
- Generalized config file parsing to support multiple configuration trees.
2000-10-11 13:42:52 +00:00
Guus Sliepen
c78a204f06
- Added meta.c which contains functions to send, receive and broadcast
...
metadata. It will also handle encryption and decryption, and possibly
compression and checksumming.
- Moved request dispatcher to protocol.c.
2000-09-26 14:06:11 +00:00
Guus Sliepen
361690b18c
- Removed options "string" stuff. It was a bad idea...
...
- free() everything that is allocated.
2000-09-22 16:20:07 +00:00
Guus Sliepen
5afc1e98f4
- Severe code reduction and simplification of challenge requests
...
- "Finished" [add|del]_subnet_h
- Added lots of sanity checks to [add|del]_host_h
2000-09-22 15:06:28 +00:00
Guus Sliepen
5d0b3516d5
- Updated authentication scheme.
...
- Removed all trailing spaces from all lines.
- Added things to add_ and del_subnet_h.
2000-09-17 21:42:05 +00:00
Ivo Timmermans
7f3ab38c22
Second round of fixes
2000-09-15 12:58:40 +00:00
Ivo Timmermans
ed397b6ac6
First round of needed fixes after the overhaul
2000-09-14 21:51:21 +00:00
Guus Sliepen
c04c84c980
- Lots of small changes.
2000-09-14 11:54:51 +00:00
Guus Sliepen
9c75350ac6
- Fixed modulo in keylength check
...
- Updated header file to reflect new protocol code
2000-09-11 10:05:35 +00:00
Guus Sliepen
76b5f255c6
- Some key exchange stuff. (Last commit before going to bed.)
2000-09-10 23:11:37 +00:00
Guus Sliepen
675ed08a71
- Lots of functions added for the new protocol.
2000-09-10 22:49:46 +00:00
Guus Sliepen
6b9ec9ed1e
- Added more function skeletons for the new protocol.
2000-09-10 16:15:35 +00:00
Guus Sliepen
28cc301595
- New protocol. Will break everything else for now.
2000-09-10 15:18:03 +00:00
Guus Sliepen
3cfc9424f2
- Moved TCP packet reception to meta handler: less kludgy and less buggy!
2000-08-08 17:07:48 +00:00
Guus Sliepen
ff87f385c3
Removed calling add_queue for tcponly packets.
2000-08-08 13:47:57 +00:00
Guus Sliepen
ac73c72488
Fixed PACKET read loop.
2000-08-08 08:48:50 +00:00
Guus Sliepen
b6997b0050
- Lots o' buglets fixed (-Wall helps)
...
- Made TCPonly work :)
2000-08-07 16:27:29 +00:00
Guus Sliepen
fdc6a2f106
- Added experimental hackish tunneling-over-TCP support.
...
Just use TCPonly = true in the configuration file.
2000-08-07 14:52:16 +00:00
Guus Sliepen
1a1ebefd57
- Made tinc even more silent if no -d flag is given at all.
2000-06-30 21:03:51 +00:00
Guus Sliepen
c5737583c8
- Instead of logging an error when remote end closes the connection,
...
we print a nice message if appropiate debug level is set.
- If we get ADD_HOSTs or DEL_HOSTs for ourself, then connection lists
are really messed up. We restart, and hope our problems go away.
2000-06-30 12:41:06 +00:00
Guus Sliepen
0f9ad1f047
- Fixed memory leak.
...
- Implemented SIGHUP configuration file reloading.
- Other small changes.
2000-06-29 19:47:04 +00:00
Guus Sliepen
18c85caac3
- New semantics for BASIC_INFO, ADD_HOST and DEL_HOST requests. This will
...
improve connection list consistency, ensures the tree property, and
allows for recovery from situations where track of connections is lost.
2000-06-29 17:09:08 +00:00