projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Apply HMAC after encryption.
[tinc]
/
src
/
connection.h
diff --git
a/src/connection.h
b/src/connection.h
index
75015ff
..
20e0076
100644
(file)
--- a/
src/connection.h
+++ b/
src/connection.h
@@
-47,6
+47,8
@@
typedef struct connection_status_t {
unsigned int unused:21;
} connection_status_t;
unsigned int unused:21;
} connection_status_t;
+#include "ecdh.h"
+#include "ecdsa.h"
#include "edge.h"
#include "net.h"
#include "node.h"
#include "edge.h"
#include "net.h"
#include "node.h"
@@
-56,7
+58,8
@@
typedef struct connection_t {
union sockaddr_t address; /* his real (internet) ip */
char *hostname; /* the hostname of its real ip */
union sockaddr_t address; /* his real (internet) ip */
char *hostname; /* the hostname of its real ip */
- int protocol_version; /* used protocol */
+ int protocol_major; /* used protocol */
+ int protocol_minor; /* used protocol */
int socket; /* socket used for this connection */
uint32_t options; /* options for this connection */
int socket; /* socket used for this connection */
uint32_t options; /* options for this connection */
@@
-68,7
+71,9
@@
typedef struct connection_t {
struct node_t *node; /* node associated with the other end */
struct edge_t *edge; /* edge associated with this connection */
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 */
+ rsa_t rsa; /* his public RSA key */
+ ecdsa_t ecdsa; /* his public ECDSA key */
+ ecdsa_t ecdh; /* state for ECDH key exchange */
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;
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;
@@
-94,7
+99,7
@@
typedef struct connection_t {
} connection_t;
extern splay_tree_t *connection_tree;
} connection_t;
extern splay_tree_t *connection_tree;
-extern connection_t *
broadcast
;
+extern connection_t *
everyone
;
extern void init_connections(void);
extern void exit_connections(void);
extern void init_connections(void);
extern void exit_connections(void);