tinc/src
Guus Sliepen 75773efe26 Apparently it's impolite to ask GCC to subtract two pointers.
If two pointers do not belong to the same array, pointer subtraction gives
nonsensical results, depending on the level of optimisation and the
architecture one is compiling for. It is apparently not just subtracting the
pointer values and dividing by the size of the object, but uses some kind of
higher magic not intended for mere mortals. GCC will not warn about this at
all. Casting to void * is also a no-no, because then GCC does warn that strict
aliasing rules are being broken. The only safe way to query the ordering of two
pointers is to use the (in)equality operators.

The unsafe implementation of connection_compare() has probably caused the "old
connection_t for ... still lingering" messages. Our implementation of AVL trees
is augmented with a doubly linked list, which is normally what is traversed.
Only when deleting an old connection the tree itself is traversed.
2009-09-13 14:08:59 +02:00
..
bsd Add support for iPhones and recent iPods. 2009-09-10 19:32:54 +02:00
cygwin Update THANKS and copyright information. 2009-03-05 14:12:36 +01:00
linux src/linux/device.c: Fix segfault when running without `--net'. 2009-05-27 10:55:09 +02:00
mingw Update THANKS and copyright information. 2009-03-05 14:12:36 +01:00
raw_socket Update THANKS and copyright information. 2009-03-05 14:12:36 +01:00
solaris Replace asprintf() by xasprintf(). 2009-09-08 18:18:36 +02:00
uml_socket Replace asprintf() by xasprintf(). 2009-09-08 18:18:36 +02:00
conf.c Replace asprintf() by xasprintf(). 2009-09-08 18:18:36 +02:00
conf.h Update THANKS and copyright information. 2009-03-05 14:12:36 +01:00
connection.c Apparently it's impolite to ask GCC to subtract two pointers. 2009-09-13 14:08:59 +02:00
connection.h Ensure tinc compiles with gcc -std=c99. 2009-09-08 21:45:24 +02:00
device.h Update copyright notices, remove Ivo's email address. 2006-04-26 13:52:58 +00:00
edge.c Update copyright notices, remove Ivo's email address. 2006-04-26 13:52:58 +00:00
edge.h Update copyright notices, remove Ivo's email address. 2006-04-26 13:52:58 +00:00
event.c Update THANKS and copyright information. 2009-03-05 14:12:36 +01:00
event.h Update THANKS and copyright information. 2009-03-05 14:12:36 +01:00
graph.c Replace asprintf() by xasprintf(). 2009-09-08 18:18:36 +02:00
graph.h Added graph dumping ability based on Markus Goetz's patch. 2006-11-11 14:11:16 +00:00
logger.c Update copyright notices, remove Ivo's email address. 2006-04-26 13:52:58 +00:00
logger.h Use the event log under Windows. 2003-08-17 09:04:00 +00:00
Makefile.am Add support for iPhones and recent iPods. 2009-09-10 19:32:54 +02:00
meta.c Don't try to send MTU probes to unreachable nodes. 2009-06-11 18:36:08 +02:00
meta.h Update copyright notices, remove Ivo's email address. 2006-04-26 13:52:58 +00:00
net.c Convert bitfields to integers in a safe way. 2009-09-09 12:04:08 +02:00
net.h Fix initialisation of packet decryption context broken by commit 3308d13e7e. 2009-05-24 19:31:31 +02:00
net_packet.c Change level of some debug messages, zero pointer after freeing hostname. 2009-06-11 19:39:25 +02:00
net_setup.c Allow PMTUDiscovery in switch and hub modes again. 2009-09-12 13:40:32 +02:00
net_socket.c Replace asprintf() by xasprintf(). 2009-09-08 18:18:36 +02:00
netutl.c Replace asprintf() by xasprintf(). 2009-09-08 18:18:36 +02:00
netutl.h Add declaration for sockaddrcmp_noport(). 2009-05-25 12:19:08 +02:00
node.c Remove superfluous call to avl_delete(). 2009-09-13 14:07:40 +02:00
node.h Ensure tinc compiles with gcc -std=c99. 2009-09-08 21:45:24 +02:00
process.c Don't stat() on iPhone/iPod. 2009-09-10 19:51:08 +02:00
process.h Update copyright notices, remove Ivo's email address. 2006-04-26 13:52:58 +00:00
protocol.c Replace asprintf() by xasprintf(). 2009-09-08 18:18:36 +02:00
protocol.h Handle UDP packets from different and ports than advertised. 2009-04-03 01:05:23 +02:00
protocol_auth.c Use xrealloc instead of if(ptr) ptr = xmalloc(). 2009-05-24 19:35:51 +02:00
protocol_edge.c ignore indirect edge registrations in tunnelserver mode 2009-05-22 00:43:48 +02:00
protocol_key.c Properly set HMAC length for incoming packets. 2009-06-05 16:14:31 +02:00
protocol_misc.c Use a simple Random Early Drop algorithm in send_tcppacket(). 2009-03-09 14:04:31 +01:00
protocol_subnet.c tunnelserver: log which ADD_SUBNET was refused 2009-05-25 16:55:55 +02:00
route.c Handle unicast packets larger than PMTU in switch mode. 2009-09-12 14:19:36 +02:00
route.h Update copyright notices, remove Ivo's email address. 2006-04-26 13:52:58 +00:00
subnet.c Put Subnet weight in a separate environment variable. 2009-09-12 13:34:11 +02:00
subnet.h Update THANKS and copyright information. 2009-03-05 14:12:36 +01:00
tincd.c Replace asprintf() by xasprintf(). 2009-09-08 18:18:36 +02:00