Guus Sliepen
df3220a154
Update copyright notices.
2005-05-04 18:09:30 +00:00
Guus Sliepen
faaaa1ef38
Searching through splay trees may change the tree variable.
2005-05-04 15:52:55 +00:00
Guus Sliepen
dc09f6fe89
Be on the safe side with initialisation of c->name.
2005-05-04 15:51:45 +00:00
Guus Sliepen
92c4a28d7d
Remove unused (and potentially segfaulting) net2str() call.
2005-04-06 20:43:37 +00:00
Guus Sliepen
6363ed4d9c
Don't try to add a non-existing node back to the node_udp_tree.
2005-01-20 15:14:25 +00:00
Guus Sliepen
39fe3b445c
Nodes should only be in the node_udp_tree if they are reachable.
2005-01-04 22:19:56 +00:00
Guus Sliepen
fe0bfa3e65
Correct size argument for strncat().
2005-01-04 22:18:58 +00:00
Guus Sliepen
56c36a14d8
Use the proper free function.
2004-12-03 13:27:33 +00:00
Guus Sliepen
18c617ecf2
Free memory used by connection_t after it is deleted from the connection tree.
2004-12-03 13:22:18 +00:00
Guus Sliepen
672ad5634c
Small fix.
2004-12-01 21:26:51 +00:00
Guus Sliepen
40b1692940
subnet-up/down hooks, use list_t for the todo list.
2004-12-01 20:06:39 +00:00
Guus Sliepen
c46f56a8b8
subnet-up/down hooks
2004-12-01 20:06:05 +00:00
Guus Sliepen
0077cfaae1
Make sure broadcast packet reach the local network interface.
2004-11-16 19:02:54 +00:00
Guus Sliepen
d8fe2ecdd8
Set BSD tuns to broadcast mode. On OpenBSD, this enables IPv6 on the tun device!
2004-11-10 23:20:59 +00:00
Guus Sliepen
4fe7aff4d1
Add BlockingTCP option, useful when using TCPOnly on slow or congested links.
2004-11-10 21:56:31 +00:00
Guus Sliepen
5bba3124c8
Support tunneling IPv6 on Solaris.
2004-11-10 21:14:08 +00:00
Guus Sliepen
d02d81ff9d
Let compiler decide when to inline.
2004-11-10 19:36:02 +00:00
Guus Sliepen
923abcfa35
Use the generic BSD tun/tap code.
2004-11-10 18:11:44 +00:00
Guus Sliepen
e8b11b1cca
Missing check for NULL-pointer.
2004-11-10 18:10:59 +00:00
Guus Sliepen
ca7948fc06
Hopefully this really fixes late packet handling.
2004-11-09 09:51:35 +00:00
Guus Sliepen
f7b9761000
Fixed another bug in late packet handling.
2004-11-08 22:30:13 +00:00
Guus Sliepen
14eab17829
Update to make it compile again.
2004-11-08 22:11:33 +00:00
Guus Sliepen
1f00810da3
static
2004-11-01 17:02:19 +00:00
Guus Sliepen
82b29e9a3b
Generic device driver for *BSD and MacOS/X
2004-11-01 17:01:56 +00:00
Guus Sliepen
922e5b7bea
Support alternative tun/tap driver from http://www-user.rhrk.uni-kl.de/~nissler/tuntap/
2004-11-01 15:18:53 +00:00
Guus Sliepen
faff649882
Don't let tinc service depend on NDIS component.
2004-11-01 15:18:22 +00:00
Guus Sliepen
396ac4be80
Correct return value.
2004-11-01 15:16:12 +00:00
Guus Sliepen
58153cca98
Allow tinc to work with the latest TAP-Win32 driver.
2004-10-01 18:26:15 +00:00
Guus Sliepen
6411e0d8bd
strndupa() is too arcane for some environments.
2004-10-01 18:24:41 +00:00
Guus Sliepen
b0a80007e8
Fix several #includes.
2004-10-01 18:23:08 +00:00
Guus Sliepen
7717cb0c54
Remove duplicate #include "system.h"
2004-09-20 20:56:14 +00:00
Guus Sliepen
5373129344
Marking potential late packets was in the wrong place.
2004-09-20 20:55:49 +00:00
Guus Sliepen
c44f69a302
Don't set $INTERFACE automatically, don't quit on EINTR/EAGAIN.
2004-07-17 12:04:30 +00:00
Guus Sliepen
dcec713675
Added UML network socket handling.
...
Now you can use tinc instead of uml_switch.
2004-07-17 00:09:14 +00:00
Guus Sliepen
fe84fafcb6
Handle timeouts during connecting the same way as other errors.
2004-06-21 14:37:52 +00:00
Guus Sliepen
e5e0dd7534
Clean up environment after executing scripts.
2004-06-14 14:32:10 +00:00
Guus Sliepen
9e44f116bf
Increase MTU by 4 bytes to allow VLAN tagged Ethernet frames in hub and switch mode.
2004-04-15 14:09:56 +00:00
Guus Sliepen
7926a156e5
Update copyrights, links, email addresses and let Subversion update $Id$ keywords.
2004-03-21 14:21:22 +00:00
Guus Sliepen
af86a3226e
Revert Martin Kihlgren's patch, it doesn't work the way it should.
2004-03-20 22:23:42 +00:00
Guus Sliepen
8df2224829
Fix declaration of update_node_address().
2004-03-20 15:33:07 +00:00
Guus Sliepen
56aad1bb48
Applied Martin Kihlgren's IdentityGenerosity patch,
...
simplified and renamed to StrictSource.
2004-03-20 15:28:55 +00:00
Guus Sliepen
a92c471a2b
Only read our public key if it wasn't already in the private key file.
2004-03-15 18:15:02 +00:00
Guus Sliepen
a67a21ef3c
Eat trailing whitespace in config files.
2004-03-15 18:05:41 +00:00
Guus Sliepen
4350704d65
Remove CVS related cruft.
2004-03-15 17:54:19 +00:00
Guus Sliepen
519d63bedb
Don't forget to update destination MAC address.
2003-12-27 16:32:52 +00:00
Guus Sliepen
aebc97a77f
Small fixes for PMTU discovery.
2003-12-24 10:48:15 +00:00
Guus Sliepen
35399784b6
Improvements for PMTU discovery and IPv4 packet fragmentation.
2003-12-22 11:04:17 +00:00
Guus Sliepen
6d41b429a2
Better name, show probed MTU in dump.
2003-12-20 21:25:17 +00:00
Guus Sliepen
9bab08e972
More sensible name, and try to set PMTU discovery on IPv6 sockets as well.
2003-12-20 21:09:33 +00:00
Guus Sliepen
6b12bea62f
Let tinc figure out the exact MTU of the link.
2003-12-20 19:47:53 +00:00
Guus Sliepen
e8fbef5de6
Forget multicast. Always inline some function.
2003-12-13 21:50:26 +00:00
Guus Sliepen
5a1406adef
Code beautification, start of multicast support.
2003-12-12 19:52:25 +00:00
Guus Sliepen
354b7ab20e
Fix proxy-neighborsolicitation.
2003-12-08 12:00:40 +00:00
Guus Sliepen
331cef948d
Don't retry if configuration is wrong from the beginning.
2003-12-07 14:31:09 +00:00
Guus Sliepen
a3cd273751
Missing space between words.
2003-12-07 14:29:02 +00:00
Guus Sliepen
25447b3841
Read MaxTimeout from tinc.conf like the manpage says.
2003-12-07 14:28:39 +00:00
Guus Sliepen
0b5e6cf04e
Complain if pid file cannot be created.
2003-11-27 23:24:59 +00:00
Guus Sliepen
e3220cacb5
Replace Opaque and Strict options with a TunnelServer option.
2003-11-17 15:30:18 +00:00
Guus Sliepen
0e59fb022c
Add Opaque option which prevent information from being forwarded to certain nodes.
2003-11-10 22:31:53 +00:00
Guus Sliepen
d35a510fff
Fix another bug in meta.c.
2003-10-12 11:40:00 +00:00
Guus Sliepen
ffb7327c20
Fix bug that could lead to an assertion failure in libcrypto when multiple
...
requests arrive and TCP packets are heavily fragmented.
2003-10-11 14:18:52 +00:00
Guus Sliepen
258b7ce220
Parentheses in the wrong spots.
2003-10-11 12:28:48 +00:00
Guus Sliepen
a1ab57e275
Check all EVP_ function calls.
2003-10-11 12:16:13 +00:00
Guus Sliepen
b0dd705a26
Check return value of EVP_* functions, and check if length before en/decryption
...
matches that after in meta.c.
2003-10-10 16:24:24 +00:00
Guus Sliepen
9d2bf718f2
Fix ASCII art.
2003-10-10 16:23:30 +00:00
Guus Sliepen
98edfb14fc
Some platforms don't know sa_family_t or define it other than uint16_t.
2003-10-08 12:09:37 +00:00
Guus Sliepen
f2ebdf7580
Set media status for newer TAP-Win32 driver.
2003-10-08 11:37:53 +00:00
Guus Sliepen
acf5f9c968
Missing declaration.
2003-10-08 11:37:20 +00:00
Guus Sliepen
ad39db95fe
Make sure type of AF_UNKNOWN is sa_family_t.
2003-10-06 16:49:42 +00:00
Guus Sliepen
5900c07fab
PIDs are of type pid_t, and use %ld when reading/writing them to the pidfile.
2003-10-06 16:13:08 +00:00
Guus Sliepen
6350334aa4
Don't confuse users with "Address family not supported" warnings.
2003-10-06 14:41:45 +00:00
Guus Sliepen
0842998c0b
Unused variable in struct.
2003-10-06 14:33:04 +00:00
Guus Sliepen
c97b8827ed
const
2003-10-06 13:57:12 +00:00
Guus Sliepen
60943122f7
Copy structs from packets to the stack before using them, to prevent
...
alignment issues.
2003-10-06 13:49:57 +00:00
Guus Sliepen
acbb9d6692
Better length checks.
2003-10-01 09:14:01 +00:00
Guus Sliepen
eeb97e3ef4
Generate keys with 0x10001 as public exponent, which has less prime factors
...
than 0xFFFF.
2003-09-25 10:34:16 +00:00
Guus Sliepen
288d956728
Check for short packets from the tun/tap device and from other tinc daemons.
2003-09-23 20:59:01 +00:00
Guus Sliepen
cbf5a741aa
Remove pidfile when exitting.
2003-09-08 21:52:47 +00:00
Guus Sliepen
0dba26267c
Prevent multiple inclusions.
2003-09-03 16:20:33 +00:00
Guus Sliepen
6c5f3d8b74
We don't have to tell GCC how to cast.
2003-08-28 21:05:11 +00:00
Guus Sliepen
762cc2d279
Remove old edges from unreachable nodes to us. This prevents the hosts/NAME-up
...
script from being called twice in some situations.
2003-08-28 15:27:12 +00:00
Guus Sliepen
3e0b28b0c4
Remove debug message.
2003-08-22 15:07:57 +00:00
Guus Sliepen
89c9f3ed8f
When purging nodes, only delete them if nobody references them anymore.
2003-08-22 15:04:26 +00:00
Guus Sliepen
22dd23b650
Add checkpoints.
2003-08-22 15:03:59 +00:00
Guus Sliepen
570e7e9c61
Don't overwrite the first " when installing a service.
2003-08-22 15:05:01 +00:00
Guus Sliepen
72bdc05cb7
Allow tinc to handle unknown type addresses from other tinc daemons.
2003-08-22 11:18:42 +00:00
Guus Sliepen
5ac4179df6
If we're not in main_loop() and the service is stopped, exit immediately.
2003-08-17 12:05:08 +00:00
Guus Sliepen
46cfe61994
Do what the SDK documentation tells.
2003-08-17 12:04:35 +00:00
Guus Sliepen
3112e6a863
Use the event log under Windows.
2003-08-17 09:04:00 +00:00
Guus Sliepen
5e7c52610f
Fix --logfile under Windows.
2003-08-17 09:03:30 +00:00
Guus Sliepen
f4e80cc5e0
Don't getsockopt() SO_ERROR. We get the error from send()/recv() anyway.
2003-08-16 12:40:01 +00:00
Guus Sliepen
fd40130eb6
stat() batch files under Windows.
2003-08-16 12:11:11 +00:00
Guus Sliepen
7ed2559025
Fix permissions check for rsa_key.priv.
2003-08-14 14:21:35 +00:00
Guus Sliepen
1f2670aab2
Small fixes.
2003-08-12 14:48:13 +00:00
Guus Sliepen
ae070b9170
Add a description for the Service control panel.
2003-08-10 13:35:05 +00:00
Guus Sliepen
7eed829d28
Only system() needs script name quoted.
2003-08-08 22:45:46 +00:00
Guus Sliepen
9bde92ce97
Simpler checking of permissions on private RSA key and other fixes.
2003-08-08 22:11:54 +00:00
Guus Sliepen
96f5d98fc2
Small things.
2003-08-08 19:56:11 +00:00
Guus Sliepen
ef65a64443
Better error checking and reporting.
2003-08-08 19:49:47 +00:00
Guus Sliepen
bb2f18a3fc
Under Windows, the installation directory can be found in the registry.
2003-08-08 19:45:21 +00:00
Guus Sliepen
7f05445047
Quote when needed and don't try stuff that doesn't work under Windows.
2003-08-08 19:43:47 +00:00
Guus Sliepen
b4c913aaa9
Log error first, try to close later.
2003-08-08 19:42:35 +00:00
Guus Sliepen
6f30995955
Typo.
2003-08-08 17:20:12 +00:00
Guus Sliepen
691907caae
Readd quotes.
2003-08-08 17:17:13 +00:00
Guus Sliepen
7e74e00d16
Allow empty lines in config files.
2003-08-08 14:59:27 +00:00
Guus Sliepen
863349638b
Simplify execute_script(). It will probably work under Windows as well.
2003-08-08 14:48:33 +00:00
Guus Sliepen
deba3ed900
Correct error message when remote host closed connection.
2003-08-08 14:24:09 +00:00
Guus Sliepen
070aee3be1
Tell windows to be patient.
2003-08-08 12:55:05 +00:00
Guus Sliepen
adb68b9c2a
Windows uses backslashes...
2003-08-08 12:24:52 +00:00
Guus Sliepen
ef091d1ddb
Sync CABAL branch with release-1_0 branch.
2003-08-08 11:45:37 +00:00
Guus Sliepen
5193a14dde
Use our own port when connecting to ourself.
2003-08-03 21:45:41 +00:00
Guus Sliepen
62a7fa9a7b
Simplify translation
2003-08-03 21:45:13 +00:00
Guus Sliepen
e220187f48
Remove newlines from log messages.
2003-08-03 12:38:43 +00:00
Guus Sliepen
3671ed806d
Keep Windows happy.
2003-08-03 12:38:18 +00:00
Guus Sliepen
fa9c00733e
Old gcc compilers don't like declarations in the middle of a function.
2003-08-03 09:55:20 +00:00
Guus Sliepen
a65011b3c5
Clean up last part of main().
2003-08-03 09:08:52 +00:00
Guus Sliepen
f605ec47be
Oops.
2003-08-02 21:34:10 +00:00
Guus Sliepen
e6e3281458
Missing include.
2003-08-02 21:33:52 +00:00
Guus Sliepen
c044d12dfd
Cleanups and error messages.
2003-08-02 21:33:19 +00:00
Guus Sliepen
3fd96ebec7
Error messages.
2003-08-02 21:01:50 +00:00
Guus Sliepen
f08fc359a0
Install tinc as a service under Windows (MinGW). Remove cleanup_and_exit(),
...
either exit() directly on errors or let main_loop() shutdown gracefully.
2003-08-02 20:50:38 +00:00
Guus Sliepen
9c2d5d9f92
Oops.
2003-08-02 15:29:06 +00:00
Guus Sliepen
c7bf64c794
Allow whitespace in values.
2003-08-02 15:27:24 +00:00
Guus Sliepen
b79e55b183
Prevent system headers from including our own headers.
2003-08-02 15:13:08 +00:00
Guus Sliepen
998ac634d4
Wrong function...
2003-08-01 08:18:22 +00:00
Guus Sliepen
2531ff59b7
Woops!
2003-07-31 14:24:19 +00:00
Guus Sliepen
1fe5663787
No easy way to properly detect header files...
2003-07-31 13:18:34 +00:00
Guus Sliepen
8eca27e863
Remove forgotten braces.
2003-07-31 11:31:51 +00:00
Guus Sliepen
5c29d06668
Wrong argument.
2003-07-31 11:20:32 +00:00
Guus Sliepen
d798b8b3d8
Prevent definitions from messing up attributes.
2003-07-30 21:52:41 +00:00
Guus Sliepen
fcbe29bc4c
No C99 initialisers, gcc 2.95.3 doesn't like it.
...
Also make sure getopt.h is included.
2003-07-30 11:50:45 +00:00
Guus Sliepen
de223b51b9
Remove doc/es/ and src/device.c from the distribution.
2003-07-30 09:45:21 +00:00
Guus Sliepen
2ed154e731
Cleanups.
2003-07-29 23:21:01 +00:00
Guus Sliepen
721e4caee0
Native Windows support.
2003-07-29 22:59:01 +00:00
Guus Sliepen
586f15ed20
Make sure (at least) the MinGW device driver works.
2003-07-29 12:38:49 +00:00
Guus Sliepen
6f7cce6947
Make sure it works.
2003-07-29 12:18:35 +00:00
Guus Sliepen
ae50b0077e
Update dutch translation and make sure all device drivers are included in
...
the translation and distribution.
2003-07-29 11:06:23 +00:00
Guus Sliepen
714fb32d03
Fix compile errors and warnings.
2003-07-29 10:50:15 +00:00
Guus Sliepen
0e94541331
More checks for missing functions.
2003-07-28 22:06:09 +00:00
Guus Sliepen
c15e8a96bf
More generic handling of tap device under Windows.
2003-07-28 21:54:03 +00:00
Guus Sliepen
83263b7446
Sprinkle around a lot of const and some C99 initialisers.
2003-07-24 12:08:16 +00:00
Guus Sliepen
5cb1471351
Don't initialise a CIPHER_CTX if cipher == NULL.
2003-07-23 22:17:31 +00:00
Guus Sliepen
4aadb9500d
Run setup_device() after parsing configuration but before claiming we're ready.
2003-07-22 21:13:23 +00:00
Guus Sliepen
eefa28059a
Use bools and enums where appropriate.
2003-07-22 20:55:21 +00:00
Guus Sliepen
471308e163
Option to specify pidfile location.
2003-07-22 12:58:34 +00:00
Guus Sliepen
bad82522ec
Copy cygwin driver to mingw directory. It doesn't work (yet).
2003-07-21 15:51:00 +00:00
Guus Sliepen
e169244e4b
Use functions from logger.c
2003-07-21 14:47:43 +00:00
Guus Sliepen
2f2defc452
Check for sys/mman.h.
2003-07-21 13:18:44 +00:00
Guus Sliepen
b657f05194
No UNIX style permissions under Windows.
2003-07-18 14:10:27 +00:00
Guus Sliepen
123bb765d1
Use iface instead of interface because it might already be declared in
...
system header files.
2003-07-18 13:45:06 +00:00
Guus Sliepen
00ddbf5723
Update all device.c files.
2003-07-18 13:41:37 +00:00
Guus Sliepen
271d3537fe
Remove all #ifndefs from route.c
2003-07-18 12:21:03 +00:00
Guus Sliepen
b0a4f7b555
Even more missing definitions.
2003-07-18 12:16:24 +00:00
Guus Sliepen
e449d94cae
Big header file cleanup: everything that has to do with standard system
...
libraries is moved to system.h.
2003-07-17 15:06:27 +00:00
Guus Sliepen
47721be760
Windows headers declare a struct interface somewhere.
2003-07-15 16:38:18 +00:00
Guus Sliepen
4c52febc57
Make use of the CIPE driver. Woohoo, tinc for Windows!
2003-07-15 16:27:39 +00:00
Guus Sliepen
d26a4af456
Export mymac.
2003-07-15 16:26:18 +00:00
Guus Sliepen
784db4e70d
Format string checking for logger().
2003-07-12 20:24:04 +00:00
Guus Sliepen
5db596c684
Simplify logging, update copyrights and some minor cleanups.
2003-07-12 17:41:48 +00:00
Guus Sliepen
2a7f11c0e9
More missing IPv6 definitions and autoconf checks to make sure it compiles
...
under Solaris 2.6.
2003-07-11 16:13:00 +00:00
Guus Sliepen
30c0381d71
Provide all missing IPv6 definitions in lib/ipv6.h.
2003-07-07 11:11:33 +00:00
Guus Sliepen
1401faf608
Sprinkling the source with static and attributes.
2003-07-06 23:16:29 +00:00
Guus Sliepen
0b9175e998
Define logger(), cleans up source code and allows us to write log entries
...
to a separate file.
2003-07-06 22:11:37 +00:00
Guus Sliepen
8681047030
Check for IPv6 header files.
2003-07-06 17:49:49 +00:00
Guus Sliepen
81f5713ab7
- simplify configure.in
...
- drop support for OpenSSL < 0.9.7
- add some missing definitions/includes
2003-07-06 17:15:25 +00:00
Guus Sliepen
6c7172d694
This subtle pointer arithmetic thingy is (I'm very sure of it) the cause
...
of the lingering connections problem. Hopefully it is fixed now...
2003-06-25 20:55:05 +00:00
Guus Sliepen
9528a63c35
Really make tinc default to any addressfamily.
2003-06-25 20:52:59 +00:00
Guus Sliepen
0a9aef2da7
More braces to make gcc happy.
2003-06-11 19:40:43 +00:00
Guus Sliepen
12de5a8eed
Remove mymac stuff from device.c.
2003-06-11 19:28:38 +00:00
Guus Sliepen
31f17d4334
AddressFamily is "any" by default.
2003-06-11 19:27:35 +00:00
Guus Sliepen
451800eda8
If we have a Linux tun/tap device and we are in router mode, open the device
...
in tun mode.
2003-06-11 19:09:52 +00:00
Guus Sliepen
9e02a3d563
Call make_names() before doing anything else.
2003-06-11 19:07:56 +00:00
Guus Sliepen
4b0e5a03fe
Fix warning and add missing checks for LZO library.
2003-06-07 13:18:32 +00:00
Guus Sliepen
249933350b
Small fixes.
2003-05-07 11:21:58 +00:00
Guus Sliepen
6ba4e2da55
Small fixes to make LZO compression work.
2003-05-06 23:14:45 +00:00
Guus Sliepen
c70f52087b
- Per-node EVP_CIPHER_CTX to avoid initialisation overhead.
...
- LZO compression, thanks to Teemu Kiviniemi.
- Updated dutch translation.
2003-05-06 21:13:18 +00:00
Guus Sliepen
1ad2394b84
Make sure outgoing_t is completely freed.
2003-04-19 11:12:45 +00:00
Guus Sliepen
bc9e78250e
Better handling of late packets.
2003-04-18 21:18:36 +00:00
Guus Sliepen
51a1bcf001
HUP signal now closes connections to hosts if their host config file is
...
gone or changed. The tinc.conf file is reread for changes in the ConnectTo
lines.
2003-04-03 11:43:17 +00:00
Guus Sliepen
8285827da1
Checksums must also work for uneven number of bytes.
2003-03-29 22:11:22 +00:00
Guus Sliepen
c3ad3731a8
Don't copy more than necessary.
2003-03-29 21:58:35 +00:00
Guus Sliepen
7d21a8d1c7
- Speed up checksumming
...
- If a destination is not found in the subnet list or the destination node
is unreachable, respond with an appropiate ICMP message.
2003-03-29 21:51:21 +00:00
Guus Sliepen
9792ba2cac
- Avoid memory leak caused by OpenSSL 0.9.7a.
...
- Disable RSA_blinding_on() because it segfaults.
2003-03-28 13:41:49 +00:00
Guus Sliepen
69158563e9
Typo.
2003-03-19 11:45:05 +00:00
Guus Sliepen
88ae2e9e0c
Make sure send_meta() writes everything.
2003-03-19 11:43:42 +00:00
Ivo Timmermans
2fff0a91a7
Call RSA_blinding_on(), as advised in the paper on
...
http://crypto.stanford.edu/~dabo/abstracts/ssl-timing.html
to offer some resistance against timing attacks.
2003-03-14 09:43:10 +00:00
Guus Sliepen
1783a3aaa9
Various fixes for autoconf and OpenSSL 0.9.7 and a missing header.
2003-01-17 00:43:58 +00:00
Guus Sliepen
c08858baa9
- Fix indentation in some places.
...
- Optimise select loop.
- Remove unused function setup_outgoing_socket().
- Clear EVP_CIPHER_CTX structures before using them.
2003-01-17 00:37:20 +00:00
Guus Sliepen
38f562fdfc
Add $NAME for tinc-up/down scripts.
2003-01-14 12:53:59 +00:00
Guus Sliepen
44b87ddb7a
Run graph algorithm when replacing a second connection from the same host
...
replaces an older one.
2003-01-12 17:02:23 +00:00
Guus Sliepen
5b2a62ebb6
Fix PriorityInheritance.
2002-11-14 22:09:03 +00:00
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