X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fconnection.h;h=b5ccaed9ec46b299bcf4a89445c1ab221a7e6638;hb=8d4b96efb7955eaa96174af4804597f92e124041;hp=fd633b3ffcb9e7535ba8c0263ff16dd938b07e62;hpb=282b99f3c71705bd6e34d4e4f9e8369ea63c87ed;p=meshlink diff --git a/src/connection.h b/src/connection.h index fd633b3f..b5ccaed9 100644 --- a/src/connection.h +++ b/src/connection.h @@ -34,12 +34,13 @@ typedef struct connection_status_t { uint16_t pinged: 1; /* sent ping */ uint16_t active: 1; /* 1 if active.. */ uint16_t connecting: 1; /* 1 if we are waiting for a non-blocking connect() to finish */ - uint16_t mst: 1; /* 1 if this connection is part of a minimum spanning tree */ + uint16_t unused: 1; uint16_t control: 1; /* 1 if this is a control connection */ uint16_t pcap: 1; /* 1 if this is a control connection requesting packet capture */ uint16_t log: 1; /* 1 if this is a control connection requesting log dump */ uint16_t invitation: 1; /* 1 if this is an invitation */ uint16_t invitation_used: 1; /* 1 if the invitation has been consumed */ + uint16_t initiator: 1; /* 1 if we initiated this connection */ } connection_status_t; #include "ecdsa.h" @@ -66,6 +67,7 @@ typedef struct connection_t { int tcplen; /* length of incoming TCPpacket */ int allow_request; /* defined if there's only one request possible */ time_t last_ping_time; /* last time we saw some activity from the other end or pinged them */ + time_t last_key_renewal; /* last time we renewed the SPTPS key */ struct outgoing_t *outgoing; /* used to keep track of outgoing connections */ @@ -78,11 +80,11 @@ typedef struct connection_t { int protocol_minor; /* used protocol */ } connection_t; -extern void init_connections(struct meshlink_handle *mesh); -extern void exit_connections(struct meshlink_handle *mesh); -extern connection_t *new_connection(void) __attribute__((__malloc__)); -extern void free_connection(connection_t *); -extern void connection_add(struct meshlink_handle *mesh, connection_t *); -extern void connection_del(struct meshlink_handle *mesh, connection_t *); +void init_connections(struct meshlink_handle *mesh); +void exit_connections(struct meshlink_handle *mesh); +connection_t *new_connection(void) __attribute__((__malloc__)); +void free_connection(connection_t *); +void connection_add(struct meshlink_handle *mesh, connection_t *); +void connection_del(struct meshlink_handle *mesh, connection_t *); #endif