projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid trying to send an ANS_KEY request to unreachable nodes.
[tinc]
/
src
/
protocol_key.c
diff --git
a/src/protocol_key.c
b/src/protocol_key.c
index
ee292b6
..
d4a0b17
100644
(file)
--- a/
src/protocol_key.c
+++ b/
src/protocol_key.c
@@
-131,6
+131,12
@@
bool req_key_h(connection_t *c) {
/* Check if this key request is for us */
if(to == myself) { /* Yes, send our own key back */
/* Check if this key request is for us */
if(to == myself) { /* Yes, send our own key back */
+ if(!from->status.reachable) {
+ logger(LOG_WARNING, "Got %s from %s (%s) origin %s which is not reachable",
+ "REQ_KEY", c->name, c->hostname, from_name);
+ return true;
+ }
+
if(!send_ans_key(from)) {
return false;
}
if(!send_ans_key(from)) {
return false;
}
@@
-286,6
+292,11
@@
bool ans_key_h(connection_t *c) {
return true;
}
} else {
return true;
}
} else {
+ if(from->outkeylength != 1) {
+ logger(LOG_ERR, "Node %s (%s) uses wrong keylength!", from->name, from->hostname);
+ return true;
+ }
+
from->outcipher = NULL;
}
from->outcipher = NULL;
}