/*
connection.h -- header for connection.c
- Copyright (C) 2000-2012 Guus Sliepen <guus@tinc-vpn.org>,
+ Copyright (C) 2000-2013 Guus Sliepen <guus@tinc-vpn.org>,
2000-2005 Ivo Timmermans
This program is free software; you can redistribute it and/or modify
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 unused:20;
+ 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:19;
} connection_status_t;
#include "ecdsa.h"
struct node_t *node; /* node associated with the other end */
struct edge_t *edge; /* edge associated with this connection */
- rsa_t rsa; /* his public RSA key */
- ecdsa_t ecdsa; /* his public ECDSA 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;
+ rsa_t *rsa; /* his public RSA key */
+ ecdsa_t *ecdsa; /* his public ECDSA 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;
sptps_t sptps;
int inmaclength;
struct buffer_t inbuf;
struct buffer_t outbuf;
- struct event inevent; /* input event on this metadata connection */
- struct event outevent; /* output event on this metadata connection */
+ io_t io; /* input/output event on this metadata connection */
int tcplen; /* length of incoming TCPpacket */
int allow_request; /* defined if there's only one request possible */