]> git.meshlink.io Git - meshlink/blobdiff - src/connection.h
Never automatically try to bind to ports >= 32768.
[meshlink] / src / connection.h
index 25e122d05f0726de19da9d04f665e7b11a975b31..5e3a7ac7e4f84f372ad9bbe6436184e09f8985f0 100644 (file)
@@ -41,6 +41,7 @@ typedef struct connection_status_t {
        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 */
+       uint16_t raw_packet: 1;             /* 1 if we are expecting a raw packet next */
 } connection_status_t;
 
 #include "ecdsa.h"
@@ -67,6 +68,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 */
 
@@ -77,13 +79,14 @@ typedef struct connection_t {
        ecdsa_t *ecdsa;                 /* his public ECDSA key */
        int protocol_major;             /* used protocol */
        int protocol_minor;             /* used protocol */
+       uint32_t flags;                 /* used protocol flags */
 } 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