X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fconnection.h;h=099d9d3b3ee81f02d5413674c4724e3492f7d569;hp=ff2c9ccdcb34bf965033ca012bce9fcaab3d5aea;hb=4fe3688bc68f77686d2061ee9240509e7158441c;hpb=ea415ccc1690d6e5864a7500977b181e5c8faafe diff --git a/src/connection.h b/src/connection.h index ff2c9ccd..099d9d3b 100644 --- a/src/connection.h +++ b/src/connection.h @@ -1,6 +1,6 @@ /* connection.h -- header for connection.c - Copyright (C) 2000-2010 Guus Sliepen , + Copyright (C) 2000-2016 Guus Sliepen , 2000-2005 Ivo Timmermans This program is free software; you can redistribute it and/or modify @@ -35,13 +35,14 @@ typedef struct connection_status_t { unsigned int pinged:1; /* sent ping */ unsigned int active:1; /* 1 if active.. */ unsigned int connecting:1; /* 1 if we are waiting for a non-blocking connect() to finish */ - unsigned int termreq:1; /* the termination of this connection was requested */ + unsigned int unused_termreq:1; /* the termination of this connection was requested */ unsigned int remove:1; /* Set to 1 if you want this connection removed */ unsigned int timeout: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 unused:23; + unsigned int proxy_passed:1; /* 1 if we are connecting via a proxy and we have finished talking with it */ + unsigned int unused:22; } connection_status_t; #include "edge.h" @@ -70,6 +71,8 @@ typedef struct connection_t { const EVP_CIPHER *outcipher; /* Cipher we will use to send data to him */ EVP_CIPHER_CTX *inctx; /* Context of encrypted meta data that will come from him to us */ EVP_CIPHER_CTX *outctx; /* Context of encrypted meta data that will be sent from us to him */ + uint64_t inbudget; /* Encrypted bytes send budget */ + uint64_t outbudget; /* Encrypted bytes receive budget */ char *inkey; /* His symmetric meta key + iv */ char *outkey; /* Our symmetric meta key + iv */ int inkeylength; /* Length of his key + iv */ @@ -107,6 +110,7 @@ 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 free_connection_partially(connection_t *); extern void connection_add(connection_t *); extern void connection_del(connection_t *); extern void dump_connections(void);