X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fconnection.h;h=d9340fdb8c5efade2cc56dff7889299b0de725e7;hb=bcac314fe2d758e85335d499dbb4300bfa8a599e;hp=78c7a5bfc558c6759eeeac8577aac3fa36b66aa6;hpb=f6e87ab476a0faf8b124ecaaa27f967d825e6457;p=tinc diff --git a/src/connection.h b/src/connection.h index 78c7a5bf..d9340fdb 100644 --- a/src/connection.h +++ b/src/connection.h @@ -35,21 +35,22 @@ #define OPTION_VERSION(x) ((x) >> 24) /* Top 8 bits are for protocol minor version */ typedef struct connection_status_t { - unsigned int pinged: 1; /* sent ping */ - unsigned int unused_active: 1; - unsigned int connecting: 1; /* 1 if we are waiting for a non-blocking connect() to finish */ - unsigned int unused_termreq: 1; /* the termination of this connection was requested */ - unsigned int remove_unused: 1; /* Set to 1 if you want this connection removed */ - unsigned int timeout_unused: 1; /* 1 if gotten timeout */ - unsigned int encryptout: 1; /* 1 if we can encrypt outgoing traffic */ - unsigned int decryptin: 1; /* 1 if we have to decrypt incoming traffic */ - unsigned int mst: 1; /* 1 if this connection is part of a minimum spanning tree */ - unsigned int control: 1; /* 1 if this is a control connection */ - unsigned int pcap: 1; /* 1 if this is a control connection requesting packet capture */ - unsigned int log: 1; /* 1 if this is a control connection requesting log dump */ - unsigned int invitation: 1; /* 1 if this is an invitation */ - unsigned int invitation_used: 1; /* 1 if the invitation has been consumed */ - unsigned int unused: 18; + bool pinged: 1; /* sent ping */ + bool unused_active: 1; + bool connecting: 1; /* 1 if we are waiting for a non-blocking connect() to finish */ + bool unused_termreq: 1; /* the termination of this connection was requested */ + bool remove_unused: 1; /* Set to 1 if you want this connection removed */ + bool timeout_unused: 1; /* 1 if gotten timeout */ + bool encryptout: 1; /* 1 if we can encrypt outgoing traffic */ + bool decryptin: 1; /* 1 if we have to decrypt incoming traffic */ + bool mst: 1; /* 1 if this connection is part of a minimum spanning tree */ + bool control: 1; /* 1 if this is a control connection */ + bool pcap: 1; /* 1 if this is a control connection requesting packet capture */ + bool log: 1; /* 1 if this is a control connection requesting log dump */ + bool invitation: 1; /* 1 if this is an invitation */ + bool invitation_used: 1; /* 1 if the invitation has been consumed */ + bool tarpit: 1; /* 1 if the connection should be added to the tarpit */ + uint32_t unused: 17; } connection_status_t; #include "ecdsa.h" @@ -77,10 +78,10 @@ typedef struct connection_t { #ifndef DISABLE_LEGACY rsa_t *rsa; /* his public RSA key */ - cipher_t *incipher; /* Cipher he will use to send data to us */ - cipher_t *outcipher; /* Cipher we will use to send data to him */ - digest_t *indigest; - digest_t *outdigest; + cipher_t incipher; /* Cipher he will use to send data to us */ + cipher_t outcipher; /* Cipher we will use to send data to him */ + digest_t indigest; + digest_t outdigest; uint64_t inbudget; uint64_t outbudget; #endif @@ -88,12 +89,11 @@ typedef struct connection_t { ecdsa_t *ecdsa; /* his public ECDSA key */ sptps_t sptps; - int inmaclength; int outmaclength; - int incompression; - int outcompression; + int outcompression; /* compression level from compression_level_t */ - char *hischallenge; /* The challenge we sent to him */ + uint8_t *hischallenge; /* The challenge we sent to him */ + uint8_t *mychallenge; /* The challenge we received */ struct buffer_t inbuf; struct buffer_t outbuf; @@ -107,15 +107,15 @@ typedef struct connection_t { splay_tree_t *config_tree; /* Pointer to configuration tree belonging to him */ } connection_t; -extern list_t *connection_list; +extern list_t connection_list; extern connection_t *everyone; extern void init_connections(void); extern void exit_connections(void); extern connection_t *new_connection(void) __attribute__((__malloc__)); -extern void free_connection(connection_t *); -extern void connection_add(connection_t *); -extern void connection_del(connection_t *); -extern bool dump_connections(struct connection_t *); +extern void free_connection(connection_t *c); +extern void connection_add(connection_t *c); +extern void connection_del(connection_t *c); +extern bool dump_connections(struct connection_t *c); #endif