thorkill
78d0342a12
Update weight on reverse edge too
2015-07-07 20:49:16 +02:00
thorkill
0c334bb077
Do not insert edge into edge_weight_tree if not needed
2015-07-07 20:37:17 +02:00
thorkill
bb3fd0a985
Make usage of weight
2015-07-07 20:35:52 +02:00
thorkill
d49fd87dbc
Attempt to fix the heap-use-after-free error in mst_kruskal
...
For some reason the edges ware removed in one direction resulting in e->reverse
point into invalid memory.
2015-07-07 00:05:58 +02:00
thorkill
77eac310c5
Revert "Set edge->reverse to NULL before we free it"
...
This reverts commit eda9f0ea8e
.
2015-07-06 01:54:01 +02:00
thorkill
8dcd2a9995
Do not delete edges which differ only by weight
...
Added special case where we get weight update from other node.
Previous version called edge_del() which caused segmentation
faults in mst_kruskal.
2015-07-06 01:52:40 +02:00
thorkill
38c42fb973
Move the edge weight update handling to edge.c
2015-07-06 01:50:31 +02:00
thorkill
7c85db5421
Introducing new function for edge weight update
2015-07-06 01:49:45 +02:00
thorkill
b7820caf03
removed edge_clone()
2015-07-06 01:49:03 +02:00
thorkill
eda9f0ea8e
Set edge->reverse to NULL before we free it
2015-07-06 01:04:11 +02:00
thorkill
e51dd1b196
Changed the name of edge from node to oldnode
2015-07-06 00:42:59 +02:00
thorkill
7dc8c736bc
list_each shadowed node
...
move it into the loop
2015-07-05 22:32:32 +02:00
thorkill
841ca358e0
Forgot to set node->data
2015-07-05 21:58:27 +02:00
thorkill
25ad32d206
Use usage of splay_node_t
2015-07-05 21:41:49 +02:00
thorkill
bebe8e6808
Fixed edge->reverse corruption resulting in a segfault in graph()
...
Thanks to Guus for helping us with this one.
2015-07-05 20:54:32 +02:00
thorkill
04c1dedeb5
Extended simple.c with hash and connection tests
2015-07-05 00:32:44 +02:00
thorkill
82706970cf
Removed unused declaration in bind_to_intercface()
2015-07-05 00:32:11 +02:00
thorkill
614a03c886
Do not try to zero memory on unitialized hash
2015-07-05 00:31:39 +02:00
thorkill
aea7938f19
Added sanity check in test in sssp_bfs()
2015-07-05 00:31:01 +02:00
thorkill
837469c747
Add small jitter to keyexpire_handle and edgeupdate_handler
2015-07-05 00:16:02 +02:00
thorkill
d172f2db29
Merge with guus patch for exit_edges()
2015-07-05 00:15:04 +02:00
thorkill
aa9994e49e
Cleanup after merge
2015-07-04 18:52:16 +02:00
thorkill
dc5491a59e
Merge branch '1.1' of github.com:gsliepen/tinc into thkr-1.1-ponyhof
2015-07-04 18:45:43 +02:00
Guus Sliepen
de7d9ee437
Call sockaddrfree(&e->local_address) in free_edge() instead of exit_edges().
...
The proper place to clean up resources of objects is in their
destructor. This makes sure proper cleanup when edge_del() is called as
well. At exit, free_edge() is called on all edges by free_edge_tree(),
which is called by exit_nodes().
2015-07-04 17:53:11 +02:00
Guus Sliepen
36cec9af88
Coalesce two if statements that check for the same thing.
2015-07-04 17:51:05 +02:00
Jo-Philipp Wich
14ccf50954
fix musl compatibility
...
Let configure include sys/if_tun.h when testing for netinet/if_ether.h
to detect the Kernel/libc header conflict on musl.
After this patch, configure will correctly detect netinet/if_ether.h as
unusable and the subsequent compilation will not attempt to use it.
Conflicts:
src/have.h
2015-07-04 17:34:37 +02:00
Guus Sliepen
37588b8d5c
Don't #include OpenSSL headers when compiling without OpenSSL.
2015-07-04 17:34:31 +02:00
thorkill
abb24e9d71
Cleanup local_address in protocol_edge.c
...
In line 131 local_address has been defined,
but the memory was never freed on return.
2015-07-04 03:24:13 +02:00
thorkill
92df36a610
Cleanup edges stored in edge_weight_tree on exit
...
protocol_edge.c: 131 defines local_address using str2sockaddr
str2sockaddr() allocates memory which has to be freed on exit.
2015-07-04 03:24:05 +02:00
thorkill
1140ca6d30
Fixed 2 leaks in setup_myself()
2015-07-04 03:23:58 +02:00
thorkill
e3ae318059
Cleanup local_address in protocol_edge.c
...
In line 131 local_address has been defined,
but the memory was never freed on return.
2015-07-04 03:21:01 +02:00
thorkill
d08c7cf4cf
Cleanup edges stored in edge_weight_tree on exit
...
protocol_edge.c: 131 defines local_address using str2sockaddr
str2sockaddr() allocates memory which has to be freed on exit.
2015-07-04 02:39:12 +02:00
thorkill
6efd3ff302
Fixed 2 leaks in setup_myself()
2015-07-04 00:29:36 +02:00
thorkill
b342d0cfb6
Added simple connection tests
2015-07-02 22:06:14 +02:00
thorkill
8a6c5595b1
Added ./configure --enable-devel to enable -Werror and other developement settings
2015-07-02 21:55:50 +02:00
thorkill
94703cdfa9
getopt.c fixes for unitialized parameters on FreeBSD
2015-07-02 21:48:15 +02:00
thorkill
ad58c0f65d
Revert "Marked missing parameters in getopt.c on FreeBSD"
...
This reverts commit 5bba2cc066
.
2015-07-02 21:45:43 +02:00
thorkill
5bba2cc066
Marked missing parameters in getopt.c on FreeBSD
2015-07-02 21:42:44 +02:00
thorkill
3f4855587c
Marked unused parameter in net_socket.c
...
Found by clang on FreeBSD
2015-07-02 21:39:07 +02:00
thorkill
d2e038ab24
Makred unused parameter in net_packet.c
...
Found by clang -Wunused-parameter on FreeBSD
2015-07-02 21:37:33 +02:00
thorkill
bfea5f350f
Added small node test, working on edge tests
2015-07-02 21:33:28 +02:00
Florian Klink
0267aef826
setup_outgoing_connection: log to LOG_DEBUG on if no known address
...
With AutoConnect = yes, tinc tries to establish connections to known hosts.
However, you could have set no Address for this host, which is perfectly fine
(as long as there is at least one bootstrap node with an address or a local
discovered node already part of the network)
So log this to LOG_DEBUG
2015-07-02 21:22:53 +02:00
Florian Klink
91355b9ac5
(read|append)_config_file: log open errors as LOG_DEBUG
...
In a "decentrally managed vpn" it is very likely that host config
files for some reachable nodes do not exist. Currently, tinc
fills the logs with "Cannot open config file" messages.
This commit changes the log level to LOG_DEBUG so
syslog doesn't get filled by default.
2015-07-02 21:22:47 +02:00
thorkill
743671278f
Attempt to track an segfault in mst_kruskal()
...
(gdb) bt
#0 mst_kruskal () at graph.c:107
#1 graph () at graph.c:302
#2 0x00007ffff7b509fe in del_edge_h (c=<optimized out>, request=<optimized out>) at protocol_edge.c:292
#3 0x00007ffff7b4de2e in receive_request (c=0x5555557e3ef0, request=0x555555800e13 "13 3fc17404 node1 node2") at protocol.c:136
#4 0x00007ffff7b43513 in receive_meta (c=0x5555557e3ef0) at meta.c:290
#5 0x00007ffff7b442d9 in handle_meta_connection_data (c=0x5555557e3ef0) at net.c:291
#6 0x00007ffff7b41391 in event_loop () at event.c:287
#7 0x00007ffff7b449b2 in main_loop () at net.c:469
#8 0x0000555555556716 in main (argc=<optimized out>, argv=<optimized out>) at tincd.c:480
2015-07-02 20:38:02 +02:00
thorkill
826584011d
Extended .gitignore
2015-07-02 20:35:44 +02:00
thorkill
f1a9a40c90
Marked all unsued parameters found by -Werror=unused-parameter with UNUSED()
2015-07-02 18:37:08 +02:00
thorkill
1391b2d7dc
Added -Werror=unused-parameter
...
In system.h UNUSED() macro has been defined which can be used to mark unsed parameters.
2015-07-02 18:35:57 +02:00
thorkill
50da19addf
Removed unused variables.
...
Found using clang -Wunused-variable
2015-07-02 18:03:03 +02:00
thorkill
cd10a37ce5
Added -Werror=unused-variable
2015-07-02 18:02:05 +02:00
thorkill
656af8fa07
Remove conflicting function definitions
...
- send_request
- send_meta
2015-07-02 17:51:46 +02:00