tinc
13 years agoFix check for event initialization due to the merge.
Guus Sliepen [Sat, 14 May 2011 09:52:35 +0000 (11:52 +0200)]
Fix check for event initialization due to the merge.

13 years agoMerge branch 'master' of git://tinc-vpn.org/tinc into 1.1
Guus Sliepen [Mon, 9 May 2011 19:35:14 +0000 (21:35 +0200)]
Merge branch 'master' of git://tinc-vpn.org/tinc into 1.1

Conflicts:
NEWS
README
configure.in
doc/tincd.8.in
lib/pidfile.c
src/bsd/device.c
src/dropin.h
src/net.c
src/net_packet.c
src/node.c
src/process.c
src/tincd.c

13 years agoReleasing 1.0.14. release-1.0.14
Guus Sliepen [Sun, 8 May 2011 21:17:46 +0000 (23:17 +0200)]
Releasing 1.0.14.

13 years agoInclude <inttypes.h> when using intptr_t.
Guus Sliepen [Sun, 8 May 2011 21:12:44 +0000 (23:12 +0200)]
Include <inttypes.h> when using intptr_t.

13 years agoEnsure proper linking with OpenSSL with recent versions of MinGW.
Guus Sliepen [Sun, 8 May 2011 21:12:06 +0000 (23:12 +0200)]
Ensure proper linking with OpenSSL with recent versions of MinGW.

13 years agoUpdate THANKS and copyright information.
Guus Sliepen [Sun, 8 May 2011 19:22:20 +0000 (21:22 +0200)]
Update THANKS and copyright information.

13 years agoCheck for EVP_EncryptInit_ex instead of SHA1_Version in OpenSSL.
Guus Sliepen [Sun, 8 May 2011 19:06:06 +0000 (21:06 +0200)]
Check for EVP_EncryptInit_ex instead of SHA1_Version in OpenSSL.

The latter function disappeared, and wasn't actually used in tinc, so now we
check on a function that we do use.

13 years agoAlways use the default signal handler for ABRT signals.
Guus Sliepen [Sun, 8 May 2011 10:40:44 +0000 (12:40 +0200)]
Always use the default signal handler for ABRT signals.

This will allow coredumps to be generated when tinc is daemonized.
Also add the -kABRT option.

13 years agoIncrease threshold for detecting two nodes with the same Name.
Guus Sliepen [Sun, 8 May 2011 10:16:26 +0000 (12:16 +0200)]
Increase threshold for detecting two nodes with the same Name.

In commit 4a21aabada23d1d2c8a10f54dd7248171c4ec82f, code was added to detect
contradicting ADD_EDGE and DEL_EDGE messages being sent, which is an indication
of two nodes with the same Name connected to the same VPN.  However, these
contradictory messages can also happen when there is a network partitioning. In
the former case a loop happens which causes many contradictory message, while
in the latter case only a few of those messages will be sent. So, now we
increase the threshold to at least 10 of both ADD_EDGE and DEL_EDGE messages.

13 years agoFix command-line '-o' option for host configuration
Julien Muchembled [Thu, 28 Apr 2011 11:21:55 +0000 (13:21 +0200)]
Fix command-line '-o' option for host configuration

This fixes a regression introduced by commit 667b1ba while refactoring option
parsing code.

13 years agoDo not set indirect flag on edges from nodes with multiple addresses.
Guus Sliepen [Wed, 9 Mar 2011 08:34:56 +0000 (09:34 +0100)]
Do not set indirect flag on edges from nodes with multiple addresses.

Since tinc now handles UDP packets with a different source address and port
than used for TCP connections, the heuristic to treat edges as indirect when
tinc could detect that multiple addresses were used does not make sense
anymore, and can actually reduce performance.

13 years agoPrevent anything from updating our own UDP address.
Guus Sliepen [Fri, 18 Feb 2011 22:11:43 +0000 (23:11 +0100)]
Prevent anything from updating our own UDP address.

Because we don't want to keep track of that, and this will cause the node
structure from being relinked into the node tree, which results in myself
pointing to an invalid address.

13 years agoFix spurious misidentification of incoming UDP packets.
Guus Sliepen [Fri, 18 Feb 2011 22:02:11 +0000 (23:02 +0100)]
Fix spurious misidentification of incoming UDP packets.

When a UDP packet was received with an unknown source address/port, and if it
failed a HMAC check against known keys, it could still incorrectly assign that
UDP address to another node. This would temporarily cause outgoing UDP packets
to go to the wrong destination address, until packets from the correct address
were received again.

13 years agoDragonFlyBSD support
Rumko [Sat, 12 Feb 2011 17:22:14 +0000 (18:22 +0100)]
DragonFlyBSD support

* added DragonFly BSD support
* added a check for sys/resource.h (needed on DragonFly)

13 years agoAdd support for VDE through libvdeplug.
Guus Sliepen [Mon, 7 Feb 2011 17:34:55 +0000 (18:34 +0100)]
Add support for VDE through libvdeplug.

When compiled with vde/device.c, tinc will connect to a vde_switch instance
instead of using a tun/tap device.

13 years agoFix typo spotted by Andrew Scheller.
Guus Sliepen [Sat, 29 Jan 2011 09:49:44 +0000 (10:49 +0100)]
Fix typo spotted by Andrew Scheller.

13 years agoProper check and dropin replacement for usleep().
Guus Sliepen [Wed, 12 Jan 2011 19:57:14 +0000 (20:57 +0100)]
Proper check and dropin replacement for usleep().

13 years agoUpdate the NEWS.
Guus Sliepen [Sun, 2 Jan 2011 16:25:24 +0000 (17:25 +0100)]
Update the NEWS.

13 years agoUpdate the manual.
Guus Sliepen [Sun, 2 Jan 2011 16:25:03 +0000 (17:25 +0100)]
Update the manual.

13 years agoDocument the behavior of "-n."
Guus Sliepen [Sun, 2 Jan 2011 16:24:23 +0000 (17:24 +0100)]
Document the behavior of "-n."

13 years agoRemove unused variables.
Guus Sliepen [Sun, 2 Jan 2011 15:59:42 +0000 (16:59 +0100)]
Remove unused variables.

13 years agoReplace bogus #else with #endif.
Guus Sliepen [Sun, 2 Jan 2011 15:55:42 +0000 (16:55 +0100)]
Replace bogus #else with #endif.

Found by cppcheck, which complained about lenin not being initialized, but the
real problem is that reading packets would fail when using code compiled with
--tunemu on a normal tun device.

13 years agoLimit field width when scanning PID file.
Guus Sliepen [Sun, 2 Jan 2011 15:52:36 +0000 (16:52 +0100)]
Limit field width when scanning PID file.

Cppcheck warns that scanf() might otherwise crash when presented with a huge,
bogus PID file.

13 years agoClose all filedescriptors in Solaris close_device().
Guus Sliepen [Sun, 2 Jan 2011 15:50:24 +0000 (16:50 +0100)]
Close all filedescriptors in Solaris close_device().

13 years agoAlways send MTU probes at least once every PingInterval.
Guus Sliepen [Sun, 2 Jan 2011 14:02:23 +0000 (15:02 +0100)]
Always send MTU probes at least once every PingInterval.

Before, if MTU probes failed, tinc would stop sending probes until the next
time keys were regenerated (by default, once every hour).  Now it continues to
send them every PingInterval, so it recovers faster from temporary failures.

14 years agoUse setpriority() instead of nice() on UNIX-like systems.
Guus Sliepen [Sat, 20 Nov 2010 14:31:11 +0000 (14:31 +0000)]
Use setpriority() instead of nice() on UNIX-like systems.

The return value of nice() can not reliably indicate errors. The return value
of the setpriority() call is well-defined.

14 years agoDo not try to dereference myself->connection->config_tree.
Guus Sliepen [Fri, 19 Nov 2010 12:26:20 +0000 (12:26 +0000)]
Do not try to dereference myself->connection->config_tree.

This was a bug introduced due to an incomplete merge (commit
ff71f289022ccb91abc2726f16522d55b5ccf0f6).

14 years agoMerge branch 'master' into 1.1
Guus Sliepen [Fri, 19 Nov 2010 12:22:48 +0000 (12:22 +0000)]
Merge branch 'master' into 1.1

Conflicts:
src/net_packet.c
src/openssl/rsagen.h
src/protocol_auth.c
src/protocol_key.c

14 years agoAttribution for Brandon Black.
Guus Sliepen [Tue, 16 Nov 2010 16:28:41 +0000 (17:28 +0100)]
Attribution for Brandon Black.

14 years agoFix variable length array declaration.
Guus Sliepen [Tue, 16 Nov 2010 15:45:36 +0000 (16:45 +0100)]
Fix variable length array declaration.

14 years agoFree replay window when freeing a node_t.
Guus Sliepen [Sat, 13 Nov 2010 20:36:51 +0000 (21:36 +0100)]
Free replay window when freeing a node_t.

14 years agoFix warning message when setting SO_RCVBUF or SO_SNDBUF fails.
Guus Sliepen [Sat, 13 Nov 2010 20:34:59 +0000 (21:34 +0100)]
Fix warning message when setting SO_RCVBUF or SO_SNDBUF fails.

14 years agoImproved handling of queue-jumping packets on receive
Brandon L Black [Sat, 13 Nov 2010 18:05:51 +0000 (12:05 -0600)]
Improved handling of queue-jumping packets on receive

14 years agoConfigurable ReplayWindow size, zero disables
Brandon L Black [Sat, 13 Nov 2010 18:05:50 +0000 (12:05 -0600)]
Configurable ReplayWindow size, zero disables

14 years agoConfigurable SO_RCVBUF/SO_SNDBUF for the UDP socket
Brandon L Black [Sat, 13 Nov 2010 18:05:49 +0000 (12:05 -0600)]
Configurable SO_RCVBUF/SO_SNDBUF for the UDP socket

14 years agoExperimental IFF_ONE_QUEUE support for Linux
Brandon L Black [Sat, 13 Nov 2010 18:05:48 +0000 (12:05 -0600)]
Experimental IFF_ONE_QUEUE support for Linux

14 years agoUse variable length arrays instead of alloca().
Guus Sliepen [Sat, 13 Nov 2010 14:55:38 +0000 (15:55 +0100)]
Use variable length arrays instead of alloca().

14 years agoProvide usleep() for Windows.
Guus Sliepen [Sat, 13 Nov 2010 14:50:39 +0000 (15:50 +0100)]
Provide usleep() for Windows.

14 years agoLink tincctl with dropin.o.
Guus Sliepen [Sat, 13 Nov 2010 14:46:19 +0000 (15:46 +0100)]
Link tincctl with dropin.o.

14 years agoMerge branch 'master' into 1.1
Guus Sliepen [Fri, 12 Nov 2010 15:15:29 +0000 (16:15 +0100)]
Merge branch 'master' into 1.1

Conflicts:
doc/tincd.8.in
lib/pidfile.c
src/graph.c
src/net.c
src/net.h
src/net_packet.c
src/net_setup.c
src/net_socket.c
src/netutl.c
src/node.c
src/node.h
src/protocol_auth.c
src/protocol_key.c
src/tincd.c

14 years agoDon't use strlen() on a NULL pointer.
Guus Sliepen [Fri, 12 Nov 2010 10:38:05 +0000 (11:38 +0100)]
Don't use strlen() on a NULL pointer.

A bug introduced in commit 667b1bac77b134cf32c98d5dc25619e8c3303f52 caused tinc
to crash on startup.

14 years agoAdd short options -R and -U to the tincd(8) manpage.
Guus Sliepen [Fri, 12 Nov 2010 10:33:01 +0000 (11:33 +0100)]
Add short options -R and -U to the tincd(8) manpage.

14 years agoRead error counter must be static.
Guus Sliepen [Tue, 2 Nov 2010 13:23:43 +0000 (14:23 +0100)]
Read error counter must be static.

14 years agoQuit when there are too many consecutive errors on the tun/tap device.
Guus Sliepen [Tue, 2 Nov 2010 13:18:35 +0000 (14:18 +0100)]
Quit when there are too many consecutive errors on the tun/tap device.

Although transient errors sometimes happen on the tun/tap device (for example,
if the kernel is temporarily out of buffer space), there are situations where
the tun/tap device becomes permanently broken. Instead of endlessly spamming
the syslog, we now sleep an increasing amount of time between consecutive read
errors, and if reads still fail after 10 attempts (approximately 3 seconds),
tinc will quit.

14 years agoTreat netname="." in a special way.
Michael Tokarev [Sun, 24 Oct 2010 11:23:10 +0000 (15:23 +0400)]
Treat netname="." in a special way.

Treat netname "." in a special way as if there was no netname
specified.  Before, f.e. tincd -n. -k didn't work as it tried
to open /var/run/tinc-.pid.  Now -n. works as if there was no
-n option is specified.

Signed-Off-By: Michael Tokarev <mjt@tls.msk.ru>
14 years agoRemove unused variables.
Guus Sliepen [Fri, 22 Oct 2010 20:46:44 +0000 (22:46 +0200)]
Remove unused variables.

These were caused by commit 667b1bac77b134cf32c98d5dc25619e8c3303f52.

14 years agoAbort disabling old PEM keys on I/O errors.
Guus Sliepen [Fri, 22 Oct 2010 20:43:50 +0000 (22:43 +0200)]
Abort disabling old PEM keys on I/O errors.

14 years agoEnsure there is a newline character before a PEM key is written.
Guus Sliepen [Fri, 22 Oct 2010 20:42:21 +0000 (22:42 +0200)]
Ensure there is a newline character before a PEM key is written.

14 years agoAttribution for Timothy Redaelli.
Guus Sliepen [Fri, 22 Oct 2010 11:40:04 +0000 (13:40 +0200)]
Attribution for Timothy Redaelli.

14 years agoAttribution for Julien Muchembled.
Guus Sliepen [Fri, 22 Oct 2010 11:17:42 +0000 (13:17 +0200)]
Attribution for Julien Muchembled.

14 years agoRemove duplicate command-line option parsing.
Guus Sliepen [Fri, 22 Oct 2010 11:06:06 +0000 (13:06 +0200)]
Remove duplicate command-line option parsing.

Also fix parsing of command-line host configuration options for the local node.

14 years agoMerge local host configuration with server configuration.
Guus Sliepen [Fri, 22 Oct 2010 10:47:12 +0000 (12:47 +0200)]
Merge local host configuration with server configuration.

With some exceptions, tinc only accepted host configuration options for the
local node from the corresponding host configuration file. Although this is
documented, many people expect that they can also put those options in
tinc.conf. Tinc now internally merges the contents of both tinc.conf and the
local host configuration file.

14 years agoNew '-o' option to configure server or hosts from command line
Julien Muchembled [Fri, 3 Sep 2010 11:34:22 +0000 (13:34 +0200)]
New '-o' option to configure server or hosts from command line

Options given on the command line have precedence over configuration from files.

This can be useful, for example, for a roaming node, for which 'ConnectTo' and
<host>.Address depends on its location.

14 years agoDo not append an address to ANS_KEY messages if we don't know any address.
Guus Sliepen [Fri, 4 Jun 2010 14:03:19 +0000 (16:03 +0200)]
Do not append an address to ANS_KEY messages if we don't know any address.

This would let tinc raise an exception when an ANS_KEY request crossed a
DEL_EDGE request for the node sending the key.

14 years agoUse 64 bit counters to keep track of bytes sent/received from the virtual network...
Guus Sliepen [Fri, 4 Jun 2010 13:04:08 +0000 (15:04 +0200)]
Use 64 bit counters to keep track of bytes sent/received from the virtual network interface.

14 years agoDetect and prevent two nodes with the same Name being on the VPN simultaneously.
Guus Sliepen [Fri, 4 Jun 2010 12:53:52 +0000 (14:53 +0200)]
Detect and prevent two nodes with the same Name being on the VPN simultaneously.

In this situation, the two nodes will start fighting over the edges they announced.
When we have to contradict both ADD_EDGE and DEL_EDGE messages, we log a warning,
and with 25% chance per PingTimeout we quit.

14 years agoUse strrchr() insteaad of rindex().
Guus Sliepen [Fri, 7 May 2010 10:24:49 +0000 (12:24 +0200)]
Use strrchr() insteaad of rindex().

The latter function is deprecated, some build environments do not support.

14 years agoFix warnings under BSD
Timothy Redaelli [Tue, 4 May 2010 13:43:48 +0000 (15:43 +0200)]
Fix warnings under BSD

14 years agoFix warnings showed using -D_FORTIFY_SOURCE=2
Timothy Redaelli [Mon, 3 May 2010 22:27:44 +0000 (00:27 +0200)]
Fix warnings showed using -D_FORTIFY_SOURCE=2

14 years agoFix all warnings when compiling with mingw64.
Guus Sliepen [Sat, 1 May 2010 13:39:59 +0000 (15:39 +0200)]
Fix all warnings when compiling with mingw64.

14 years agoOpenSSL 1.0.0 compiled for 64 bit Windows requires linking with -lcrypt32.
Guus Sliepen [Sat, 1 May 2010 13:39:03 +0000 (15:39 +0200)]
OpenSSL 1.0.0 compiled for 64 bit Windows requires linking with -lcrypt32.

14 years agoUse intptr_t instead of long to store a pointer.
Guus Sliepen [Sat, 1 May 2010 13:38:04 +0000 (15:38 +0200)]
Use intptr_t instead of long to store a pointer.

14 years agoDefine WINVER before including any other header file on Windows.
Guus Sliepen [Sat, 1 May 2010 13:37:11 +0000 (15:37 +0200)]
Define WINVER before including any other header file on Windows.

14 years agoRemove obsolete lib/ directory.
Guus Sliepen [Fri, 30 Apr 2010 21:18:22 +0000 (23:18 +0200)]
Remove obsolete lib/ directory.

14 years agoDo not try to free NULL pointers.
Guus Sliepen [Fri, 30 Apr 2010 21:13:02 +0000 (23:13 +0200)]
Do not try to free NULL pointers.

14 years agoUse correct digest length when checking a received key.
Guus Sliepen [Fri, 30 Apr 2010 21:11:48 +0000 (23:11 +0200)]
Use correct digest length when checking a received key.

14 years agoAdd missing return statement.
Guus Sliepen [Sat, 17 Apr 2010 10:33:36 +0000 (12:33 +0200)]
Add missing return statement.

14 years agoFix merge of commit 4a0b9981513059755b9fd15b38fc198f46a0d6f2.
Guus Sliepen [Sat, 17 Apr 2010 10:33:15 +0000 (12:33 +0200)]
Fix merge of commit 4a0b9981513059755b9fd15b38fc198f46a0d6f2.

14 years agoMerge branch 'master' into 1.1
Guus Sliepen [Sat, 17 Apr 2010 10:21:53 +0000 (12:21 +0200)]
Merge branch 'master' into 1.1

Conflicts:
NEWS
README
configure.in
src/net.c
src/net.h

14 years agoFix experimental GUI when reading hexadecimal values.
Guus Sliepen [Sat, 17 Apr 2010 10:03:08 +0000 (12:03 +0200)]
Fix experimental GUI when reading hexadecimal values.

14 years agoFix reading configuration files that do not end with a newline. Again.
Guus Sliepen [Sat, 17 Apr 2010 10:01:38 +0000 (12:01 +0200)]
Fix reading configuration files that do not end with a newline. Again.

14 years agoReleasing 1.0.13. release-1.0.13
Guus Sliepen [Sun, 11 Apr 2010 18:40:20 +0000 (20:40 +0200)]
Releasing 1.0.13.

14 years agoMark Forwarding and DirectOnly options as being experimental.
Guus Sliepen [Sun, 11 Apr 2010 17:47:44 +0000 (19:47 +0200)]
Mark Forwarding and DirectOnly options as being experimental.

14 years agoDon't redefine MAX if it already exists.
Guus Sliepen [Sun, 11 Apr 2010 17:39:31 +0000 (19:39 +0200)]
Don't redefine MAX if it already exists.

14 years agoFixes for definitions under Windows.
Guus Sliepen [Sun, 11 Apr 2010 17:20:02 +0000 (19:20 +0200)]
Fixes for definitions under Windows.

14 years agoEnsure subnet-up/down scripts are called after HUP when necessary.
Guus Sliepen [Sun, 11 Apr 2010 16:34:50 +0000 (18:34 +0200)]
Ensure subnet-up/down scripts are called after HUP when necessary.

14 years agoFix reloading Subnets when StrictSubnets is set.
Guus Sliepen [Sun, 11 Apr 2010 02:35:16 +0000 (04:35 +0200)]
Fix reloading Subnets when StrictSubnets is set.

14 years agoReload Subnets when getting a HUP signal and StrictSubnets is used.
Guus Sliepen [Sat, 10 Apr 2010 22:50:42 +0000 (00:50 +0200)]
Reload Subnets when getting a HUP signal and StrictSubnets is used.

14 years agoEnsure ICMP_NET_ANO is defined.
Guus Sliepen [Sat, 10 Apr 2010 21:55:15 +0000 (23:55 +0200)]
Ensure ICMP_NET_ANO is defined.

14 years agoConvert Port to numeric form before sending it to other nodes.
Guus Sliepen [Sat, 3 Apr 2010 08:46:45 +0000 (09:46 +0100)]
Convert Port to numeric form before sending it to other nodes.

If one uses a symbolic name for the Port option, tinc will send that name
literally to other nodes.  However, it is not guaranteed that all nodes have
the same contents in /etc/services, or have such a file at all.

14 years agoFixed metadata protokoll corruption on forwarded requests
Sven-Haegar Koch [Wed, 31 Mar 2010 01:56:53 +0000 (03:56 +0200)]
Fixed metadata protokoll corruption on forwarded requests

When forwarding a metadata request through forward_request() we were
adding the required newline char to our buffer, but then sending the
data without it - this results in the forwarded request and the next one
to be garbled together.

Additionally while at it add a warning comment that request string is
not zero terminated anymore after a call to the forward_request()
function - for now this is ok as it is not used by any caller after this.

14 years agoDemote all LOG_EMERG to LOG_ERR, spamming all xterms is bad.
Sven-Haegar Koch [Fri, 26 Mar 2010 16:25:18 +0000 (17:25 +0100)]
Demote all LOG_EMERG to LOG_ERR, spamming all xterms is bad.

14 years agoREADME.git: tinc 1.1 needs libevent
Sven-Haegar Koch [Fri, 26 Mar 2010 15:54:13 +0000 (16:54 +0100)]
README.git: tinc 1.1 needs libevent

14 years agoFunction flush_meta() does not exist anymore.
Sven-Haegar Koch [Sun, 28 Mar 2010 15:51:26 +0000 (17:51 +0200)]
Function flush_meta() does not exist anymore.

14 years agoAdd missing AC_CHECK_HEADERS([dirent.h]) to configure.in
Sven-Haegar Koch [Fri, 26 Mar 2010 16:07:30 +0000 (17:07 +0100)]
Add missing AC_CHECK_HEADERS([dirent.h]) to configure.in

14 years agoFixed 1.0 miss-merges
Sven-Haegar Koch [Fri, 26 Mar 2010 16:18:04 +0000 (17:18 +0100)]
Fixed 1.0 miss-merges

14 years agoMerge branch 'master' into 1.1
Sven-Haegar Koch [Fri, 26 Mar 2010 15:51:03 +0000 (16:51 +0100)]
Merge branch 'master' into 1.1

Conflicts:
NEWS
README
configure.in
have.h
src/conf.c
src/conf.h
src/net.c
src/net_packet.c
src/protocol_key.c
src/protocol_subnet.c
src/route.c
src/tincd.c

14 years agoNever delete Subnets when StrictSubnets is set
Sven-Haegar Koch [Wed, 10 Mar 2010 01:50:51 +0000 (02:50 +0100)]
Never delete Subnets when StrictSubnets is set

If a node is unreachable, and not connected to an edge anymore, it gets
deleted. When this happens its subnets are also removed, which should
not happen with StrictSubnets=yes.

Solution:
- do not remove subnets in src/net.c::purge(), we know that all subnets
  in the list came from our hosts files.
  I think here you got the check wrong by looking at the tunnelserver
  code below it - with strictsubnets we still inform others but do not
  remove the subnet from our data.
- do not remove nodes in net.c::purge() that still have subnets
  attached.

14 years agoFix typo.
Guus Sliepen [Wed, 10 Mar 2010 15:07:01 +0000 (16:07 +0100)]
Fix typo.

14 years agoLog unauthorized Subnets when StrictSubnets is set.
Guus Sliepen [Mon, 8 Mar 2010 20:44:32 +0000 (21:44 +0100)]
Log unauthorized Subnets when StrictSubnets is set.

14 years agoConnectTo does not mean tinc does not listen for incoming connections anymore.
Guus Sliepen [Mon, 8 Mar 2010 16:54:57 +0000 (17:54 +0100)]
ConnectTo does not mean tinc does not listen for incoming connections anymore.

14 years agoFixes for the Forwarding option.
Guus Sliepen [Tue, 2 Mar 2010 22:27:50 +0000 (23:27 +0100)]
Fixes for the Forwarding option.

14 years agoAdd the DirectOnly option.
Guus Sliepen [Tue, 2 Mar 2010 21:55:24 +0000 (22:55 +0100)]
Add the DirectOnly option.

When this option is enabled, packets that cannot be sent directly to the destination node,
but which would have to be forwarded by an intermediate node, are dropped instead.
When combined with the IndirectData option,
packets for nodes for which we do not have a meta connection with are also dropped.

14 years agoAdd the Forwarding option.
Guus Sliepen [Tue, 2 Mar 2010 21:34:26 +0000 (22:34 +0100)]
Add the Forwarding option.

This determines if and how incoming packets that are not meant for the local
node are forwarded.  It can either be off, internal (tinc forwards them itself,
as in previous versions), or kernel (packets are always sent to the TUN/TAP
device, letting the kernel sort them out).

14 years agoAdd the StrictSubnets option.
Guus Sliepen [Mon, 1 Mar 2010 23:18:44 +0000 (00:18 +0100)]
Add the StrictSubnets option.

When this option is enabled, tinc will not accept dynamic updates of Subnets
from other nodes, but will only use Subnets read from local host config files
to build its routing table.

14 years agoPreload all Subnets in TunnelServer mode.
Guus Sliepen [Mon, 1 Mar 2010 22:44:56 +0000 (23:44 +0100)]
Preload all Subnets in TunnelServer mode.

This simplifies the logic in protocol_subnet.c.

14 years agoCheck for dirent.h.
Guus Sliepen [Mon, 1 Mar 2010 22:44:46 +0000 (23:44 +0100)]
Check for dirent.h.

14 years agoSimplify reading lines from configuration files.
Guus Sliepen [Mon, 1 Mar 2010 22:35:02 +0000 (23:35 +0100)]
Simplify reading lines from configuration files.

Instead of allocating storage for each line read, we now read into fixed-size
buffers on the stack. This fixes a case where a malformed configuration file
could crash tinc.

14 years agoClamp MSS to miminum MTU in both directions.
Guus Sliepen [Sun, 28 Feb 2010 17:20:13 +0000 (18:20 +0100)]
Clamp MSS to miminum MTU in both directions.

Clamp MSS of both incoming and outgoing packets, and use the minimum of the
PMTU of both directions when clamping.

14 years agoAdd --disable-zlib configure option
Timothy Redaelli [Wed, 10 Feb 2010 13:52:15 +0000 (14:52 +0100)]
Add --disable-zlib configure option