X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet.h;h=0cd4b8d9d6e437bea6af27e928bc79202e082c01;hb=refs%2Fheads%2F1.0-gnutls;hp=06c0504c0632eb55aef28cfc8691a246e1f5e793;hpb=f08fc359a0b7f638e73a8f866119b016b7dff8de;p=tinc diff --git a/src/net.h b/src/net.h index 06c0504c..0cd4b8d9 100644 --- a/src/net.h +++ b/src/net.h @@ -17,13 +17,13 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: net.h,v 1.9.4.69 2003/08/02 20:50:38 guus Exp $ + $Id: net.h,v 1.9.4.73 2003/12/20 19:47:52 guus Exp $ */ #ifndef __TINC_NET_H__ #define __TINC_NET_H__ -#include +#include #include "ipv6.h" @@ -33,7 +33,7 @@ #define MTU 1514 /* 1500 bytes payload + 14 bytes ethernet header */ #endif -#define MAXSIZE (MTU + 4 + EVP_MAX_BLOCK_LENGTH + EVP_MAX_MD_SIZE + MTU/64 + 20) /* MTU + seqno + padding + HMAC + compressor overhead */ +#define MAXSIZE (MTU + 4 + 64 + 64 + MTU/64 + 20) /* MTU + seqno + padding + HMAC + compressor overhead */ #define MAXBUFSIZE ((MAXSIZE > 2048 ? MAXSIZE : 2048) + 128) /* Enough room for a request with a MAXSIZEd packet or a 8192 bits RSA key */ #define MAXSOCKETS 128 /* Overkill... */ @@ -54,10 +54,21 @@ typedef struct ipv6_t { typedef short length_t; +#define AF_UNKNOWN 255 + +struct sockaddr_unknown { + uint16_t family; + uint16_t pad1; + uint32_t pad2; + char *address; + char *port; +}; + typedef union sockaddr_t { struct sockaddr sa; struct sockaddr_in in; struct sockaddr_in6 in6; + struct sockaddr_unknown unknown; #ifdef HAVE_STRUCT_SOCKADDR_STORAGE struct sockaddr_storage storage; #endif @@ -115,7 +126,8 @@ extern bool do_prune; extern bool do_purge; extern char *myport; extern time_t now; -extern EVP_CIPHER_CTX packet_ctx; +extern gcry_cipher_hd_t packet_ctx; +extern gcry_md_hd_t digest_ctx; /* Yes, very strange placement indeed, but otherwise the typedefs get all tangled up */ #include "connection.h" @@ -139,6 +151,7 @@ extern int main_loop(void); extern void terminate_connection(struct connection_t *, bool); extern void flush_queue(struct node_t *); extern bool read_rsa_public_key(struct connection_t *); +extern void send_mtu_probe(struct node_t *); #ifndef HAVE_MINGW #define closesocket(s) close(s)