- char *name; /* name he claims to have */
-
- union sockaddr_t address; /* his real (internet) ip */
- char *hostname; /* the hostname of its real ip */
- int protocol_version; /* used protocol */
-
- int socket; /* socket used for this connection */
- uint32_t options; /* options for this connection */
- connection_status_t status; /* status info */
- int estimated_weight; /* estimation for the weight of the edge for this connection */
- struct timeval start; /* time this connection was started, used for above estimation */
- struct outgoing_t *outgoing; /* used to keep track of outgoing connections */
-
- struct node_t *node; /* node associated with the other end */
- struct edge_t *edge; /* edge associated with this connection */
-
- rsa_t rsa; /* his public/private 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;
+ char *name; /* name he claims to have */
+ char *hostname; /* the hostname of its real ip */
+
+ union sockaddr_t address; /* his real (internet) ip */
+ int protocol_major; /* used protocol */
+ int protocol_minor; /* used protocol */
+
+ int socket; /* socket used for this connection */
+ uint32_t options; /* options for this connection */
+ connection_status_t status; /* status info */
+ int estimated_weight; /* estimation for the weight of the edge for this connection */
+ struct timeval start; /* time this connection was started, used for above estimation */
+ struct outgoing_t *outgoing; /* used to keep track of outgoing connections */
+
+ struct node_t *node; /* node associated with the other end */
+ struct edge_t *edge; /* edge associated with this connection */
+
+#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;
+ uint64_t inbudget;
+ uint64_t outbudget;
+#endif
+
+ ecdsa_t *ecdsa; /* his public ECDSA key */
+ sptps_t sptps;