Fix merge of commit 4a0b998151
.
This commit is contained in:
parent
79e46d08a4
commit
2911af6e23
1 changed files with 11 additions and 1 deletions
|
@ -175,7 +175,7 @@ bool ans_key_h(connection_t *c, char *request) {
|
||||||
int cipher, digest, maclength, compression, keylen;
|
int cipher, digest, maclength, compression, keylen;
|
||||||
node_t *from, *to;
|
node_t *from, *to;
|
||||||
|
|
||||||
if(sscanf(request, "%*d "MAX_STRING" "MAX_STRING" "MAX_STRING" %d %d %d %d",
|
if(sscanf(request, "%*d "MAX_STRING" "MAX_STRING" "MAX_STRING" %d %d %d %d "MAX_STRING" "MAX_STRING,
|
||||||
from_name, to_name, key, &cipher, &digest, &maclength,
|
from_name, to_name, key, &cipher, &digest, &maclength,
|
||||||
&compression, address, port) < 7) {
|
&compression, address, port) < 7) {
|
||||||
logger(LOG_ERR, "Got bad %s from %s (%s)", "ANS_KEY", c->name,
|
logger(LOG_ERR, "Got bad %s from %s (%s)", "ANS_KEY", c->name,
|
||||||
|
@ -216,6 +216,16 @@ bool ans_key_h(connection_t *c, char *request) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!*address) {
|
||||||
|
char *address, *port;
|
||||||
|
ifdebug(PROTOCOL) logger(LOG_DEBUG, "Appending reflexive UDP address to ANS_KEY from %s to %s", from->name, to->name);
|
||||||
|
sockaddr2str(&from->address, &address, &port);
|
||||||
|
send_request(to->nexthop->connection, "%s %s %s", request, address, port);
|
||||||
|
free(address);
|
||||||
|
free(port);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return send_request(to->nexthop->connection, "%s", request);
|
return send_request(to->nexthop->connection, "%s", request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue