Prevent oracle attacks in the legacy protocol (CVE-2018-16737, CVE-2018-16738)
[tinc] / src / net.h
index a434644..aaf29b6 100644 (file)
--- a/src/net.h
+++ b/src/net.h
@@ -74,9 +74,6 @@ typedef union sockaddr_t {
        struct sockaddr_in in;
        struct sockaddr_in6 in6;
        struct sockaddr_unknown unknown;
-#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
-       struct sockaddr_storage storage;
-#endif
 } sockaddr_t;
 
 #ifdef SA_LEN
@@ -122,13 +119,9 @@ typedef struct listen_socket_t {
 #include "list.h"
 
 typedef struct outgoing_t {
-       char *name;
+       struct node_t *node;
        int timeout;
-       splay_tree_t *config_tree;
-       struct config_t *cfg;
-       struct addrinfo *ai;  // addresses from config files
-       struct addrinfo *aip;
-       struct addrinfo *kai; // addresses known via other online nodes (use free_known_addresses())
+       struct address_cache_t *address_cache;
        timeout_t ev;
 } outgoing_t;
 
@@ -155,6 +148,7 @@ extern int keylifetime;
 extern int udp_rcvbuf;
 extern int udp_sndbuf;
 extern int max_connection_burst;
+extern int fwmark;
 extern bool do_prune;
 extern char *myport;
 extern bool device_standby;
@@ -220,6 +214,7 @@ extern void retry(void);
 extern int reload_configuration(void);
 extern void load_all_nodes(void);
 extern void try_tx(struct node_t *n, bool mtu);
+extern void tarpit(int fd);
 
 #ifndef HAVE_MINGW
 #define closesocket(s) close(s)