Guus Sliepen
dea722c4ac
Add some checks when changing configuration.
2012-07-21 15:02:17 +02:00
Guus Sliepen
cc0c35267f
Call event_init() after detaching.
...
Otherwise, the call to daemon() could close filedescriptors in use by libevent
itself; for example if it uses kqueue or epoll instead of a select() or poll()
backend.
2012-07-21 14:19:23 +02:00
Guus Sliepen
4e0fc52197
Fix various compiler warnings.
2012-07-21 13:53:22 +02:00
Guus Sliepen
98a72d6869
Make sure sptps.h and info.h are in the tarball.
2012-07-21 13:12:30 +02:00
Guus Sliepen
5eeed38b8e
Make sure tinc compiles on Windows.
2012-07-21 12:51:53 +02:00
Guus Sliepen
1d4590ca5c
Prefer routes with lower weight as long as they do not increase the number of hops.
...
This should improve traffic to nodes that are not directly reachable somewhat.
2012-07-20 20:35:07 +02:00
Guus Sliepen
4c8ead9874
Allow more configuration variables to be changed when reloading configuration.
...
In particular, Subnets may be added or removed from the local node on the fly.
2012-07-20 20:01:29 +02:00
Guus Sliepen
c678e7c4fb
Split setup_myself() into two functions, one for reloading configuration.
2012-07-20 19:59:47 +02:00
Guus Sliepen
4591e96c76
Never remove items from cmdline_conf.
...
We should treat cmdline_conf as const, so we can call read_config_options()
more than once with prefix = NULL.
2012-07-20 17:29:16 +02:00
Guus Sliepen
68a20876d0
Use minor protocol version to determine whether to use ECDH key exchange between nodes.
2012-07-20 01:02:51 +02:00
Guus Sliepen
76a3ada4eb
Put minor protocol version in connection options so other nodes can see it.
...
This allows two nodes that do not have a meta-connection with each other see
which version they are.
2012-07-17 18:05:55 +02:00
Guus Sliepen
68de7b481e
When exporting configuration files, don't copy Name variables.
...
These interfere with tincctl import. Besides, host configuration files should
not contain Name at all.
2012-07-16 18:49:39 +02:00
Guus Sliepen
c52c46f871
Add an easy way to export and import host configuration files.
2012-07-16 16:48:24 +02:00
Guus Sliepen
6319dc9dde
Strip default subnet weight from output.
2012-07-16 01:14:08 +02:00
Guus Sliepen
74646a4afa
Give an error message when tincctl info cannot parse the given subnet or address.
2012-07-16 01:09:47 +02:00
Guus Sliepen
53735a9d96
"tincctl info" gives more human readable information about nodes or subnets.
2012-07-16 01:05:25 +02:00
Guus Sliepen
3c7003893f
Move all functions related to subnet parsing to subnet_parse.c.
2012-07-16 00:52:50 +02:00
Guus Sliepen
e72e6febfe
Fix tincctl dump.
2012-07-15 22:53:03 +02:00
Guus Sliepen
9be8980a2b
Let tincctl ignore tincd options, so they will be passed on.
2012-07-15 21:17:10 +02:00
Guus Sliepen
36dee4c539
Fix tincctl start.
2012-07-15 21:15:35 +02:00
Guus Sliepen
439069bda6
Have tincctl notify a running tincd of configuration file changes.
2012-07-15 20:59:17 +02:00
Guus Sliepen
eb01fd9625
Add an easy way to edit a configuration file.
2012-07-15 20:37:38 +02:00
Guus Sliepen
cedfeccb24
Stricter checks for node names.
2012-07-15 20:22:21 +02:00
Guus Sliepen
03f72c6173
Allow configuration variables to be added/removed using tincctl.
2012-07-15 18:16:35 +02:00
Guus Sliepen
dd102efd24
Put every command in its own function.
2012-07-15 15:46:16 +02:00
Guus Sliepen
a444ec3964
"tincctl init" creates initial directory structure, tinc.conf and keypairs.
2012-07-15 14:49:36 +02:00
Guus Sliepen
268c8545aa
Merge branch 'master' into 1.1
2012-07-14 15:13:21 +02:00
Guus Sliepen
ae8c0b65d8
Use /dev/tap0 by default on FreeBSD and NetBSD when using Mode = switch.
2012-07-12 11:25:11 +02:00
Guus Sliepen
bce177767d
Fix crash when handling the ALRM signal.
...
In retry() the function do_outgoing_connection() is called, which can delete
items from the connection_tree, so when walking the tree we must first save the
pointer to the next item.
2012-06-26 14:22:57 +02:00
Guus Sliepen
19be9cf715
Merge branch 'master' of git://tinc-vpn.org/tinc into 1.1
...
Conflicts:
NEWS
README
configure.in
lib/utils.c
src/linux/device.c
src/meta.c
src/net.h
src/net_setup.c
src/net_socket.c
src/protocol.c
src/protocol_auth.c
src/tincd.c
2012-06-26 13:24:20 +02:00
Guus Sliepen
236b0ba4eb
Fix crash when using Broadcast = direct.
2012-06-25 19:03:54 +02:00
Guus Sliepen
0a84f9cb8f
Fix compiler warnings.
2012-06-25 19:01:51 +02:00
Guus Sliepen
c0af4c37d2
Small fixes in proxy code.
2012-06-25 15:00:24 +02:00
Guus Sliepen
62b61a1b7c
Don't forget to send a newline when forwarding requests.
2012-05-13 22:16:42 +02:00
Guus Sliepen
58007d7efa
Always pass request strings to other functions as const char *.
2012-05-08 16:44:15 +02:00
Sven-Haegar Koch
291a59b5b7
free_connection_partially(): also reset remote protocol version infos
...
The used remote protocol can change between two reconnects, aka if
the remote side has enabled/disabled for example their ExperimentalProtocols
setting.
2012-05-08 16:20:21 +02:00
Sven-Haegar Koch
32e5c5bb7c
Silence SPTPS log messages, reduce them from DEBUG_ALWAYS to DEBUG_META.
2012-05-08 16:19:20 +02:00
Sven-Haegar Koch
c78bb14303
terminate_connection(): delete non-outgoing (aka incoming) connections.
2012-05-08 16:19:04 +02:00
Sven-Haegar Koch
8b9e5af0d9
Label control connections for log output as "<control>", not "<unknown>".
2012-05-08 16:18:28 +02:00
Sven-Haegar Koch
d3f4cf59ca
free_connection_partially(): Avoid possible use-after-free for c->hischallenge
2012-05-08 16:18:18 +02:00
Sven-Haegar Koch
7a6ca7a993
terminate_connection(): only kill c->node->connection if it is pointing
...
to the same connection
2012-05-08 16:17:55 +02:00
Sven-Haegar Koch
a96c4f016c
terminate_connection(): Avoid use-after-free and double-free for
...
already freed edge structure.
2012-05-08 16:16:59 +02:00
Guus Sliepen
5ae19cb0bb
Add support for proxying through an external command.
...
Proxy type "exec" can be used to have an external script or binary set
up an outgoing connection. Standard input and output will be used to
exchange data with the external command. The variables REMOTEADDRESS and
REMOTEPORT are set to the intended destination address and port.
2012-04-19 15:18:31 +02:00
Guus Sliepen
fb5588856f
Add support for SOCKS 5 proxies.
...
This only covers outgoing TCP connections, and supports only
username/password authentication or no authentication.
2012-04-19 14:10:54 +02:00
Guus Sliepen
b58d95eb29
Add basic support for SOCKS 4 and HTTP CONNECT proxies.
...
When the Proxy option is used, outgoing connections will be made via the
specified proxy. There is no support for authentication methods or for having
the proxy forward incoming connections, and there is no attempt to proxy UDP.
2012-04-18 23:19:40 +02:00
Guus Sliepen
84531fb6e6
Allow broadcast packets to be sent directly instead of via the MST.
...
When the "Broadcast = direct" option is used, broadcast packets are not sent
and forwarded via the Minimum Spanning Tree to all nodes, but are sent directly
to all nodes that can be reached in one hop.
One use for this is to allow running ad-hoc routing protocols, such as OLSR, on
top of tinc.
2012-04-16 01:57:25 +02:00
Sven-Haegar Koch
f8e15dfe8d
ecdh & ecdsa: avoid some possible memory leaks in error conditions.
2012-04-16 00:54:50 +02:00
Sven-Haegar Koch
8792b9a9f3
Remove confusing error message for failed reading in ECDSA keys.
...
Most likeley the error is that there just is no valid key inside the used
host file, and in this case errno just contains a random value from the
last previously failed call.
2012-04-16 00:54:43 +02:00
Sven-Haegar Koch
a5bb6d40fb
sptps_stop(): clear pointers after free to avoid double free.
...
sptps_stop() may get called twice on some failed connection setups.
2012-04-15 01:10:49 +02:00
Guus Sliepen
535a55100b
Allow environment variables to be used for Name.
...
When the Name starts with a $, the rest will be interpreted as the name of an
environment variable containing the real Name. When Name is $HOST, but this
environment variable does not exist, gethostname() will be used to set the
Name. In both cases, illegal characters will be converted to underscores.
2012-03-29 16:45:25 +01:00