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;
|
||||
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,
|
||||
&compression, address, port) < 7) {
|
||||
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;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue