Refactor outgoing connection handling.
[tinc] / src / net.h
index 667409e..5987777 100644 (file)
--- a/src/net.h
+++ b/src/net.h
@@ -109,6 +109,7 @@ typedef struct listen_socket_t {
 typedef struct outgoing_t {
        char *name;
        int timeout;
+       splay_tree_t *config_tree;
        struct config_t *cfg;
        struct addrinfo *ai;
        struct addrinfo *aip;
@@ -132,6 +133,7 @@ extern bool do_prune;
 extern char *myport;
 extern int contradicting_add_edge;
 extern int contradicting_del_edge;
+extern time_t last_config_check;
 
 extern char *proxyhost;
 extern char *proxyport;
@@ -147,6 +149,9 @@ typedef enum proxytype_t {
 } proxytype_t;
 extern proxytype_t proxytype;
 
+extern char *scriptinterpreter;
+extern char *scriptextension;
+
 /* Yes, very strange placement indeed, but otherwise the typedefs get all tangled up */
 #include "connection.h"
 #include "node.h"
@@ -154,7 +159,7 @@ extern proxytype_t proxytype;
 extern void retry_outgoing(outgoing_t *);
 extern void handle_incoming_vpn_data(int, short, void *);
 extern void finish_connecting(struct connection_t *);
-extern bool do_outgoing_connection(struct connection_t *);
+extern bool do_outgoing_connection(struct outgoing_t *);
 extern void handle_new_meta_connection(int, short, void *);
 extern int setup_listen_socket(const sockaddr_t *);
 extern int setup_vpn_in_socket(const sockaddr_t *);
@@ -171,7 +176,6 @@ extern void try_outgoing_connections(void);
 extern void close_network_connections(void);
 extern int main_loop(void);
 extern void terminate_connection(struct connection_t *, bool);
-extern void flush_queue(struct node_t *);
 extern bool node_read_ecdsa_public_key(struct node_t *);
 extern bool read_ecdsa_public_key(struct connection_t *);
 extern bool read_rsa_public_key(struct connection_t *);