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…
	
	Add table
		Add a link
		
	
		Reference in a new issue