From 8028e01100eb40f64da5e50ef33fbf9e3f8099de Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Fri, 15 May 2015 23:01:06 +0200 Subject: [PATCH] Use AF_UNSPEC instead of AF_UNKNOWN for unspecified local address in add_edge_h(). AF_UNKNOWN is reserved for valid addresses that the local node cannot parse, but remote nodes possibly can. --- src/protocol_edge.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/protocol_edge.c b/src/protocol_edge.c index 4760162c..43e32364 100644 --- a/src/protocol_edge.c +++ b/src/protocol_edge.c @@ -61,9 +61,9 @@ bool add_edge_h(connection_t *c, const char *request) { char to_name[MAX_STRING_SIZE]; char to_address[MAX_STRING_SIZE]; char to_port[MAX_STRING_SIZE]; - char address_local[MAX_STRING_SIZE] = "unknown"; - char port_local[MAX_STRING_SIZE] = "unknown"; - sockaddr_t address, local_address; + char address_local[MAX_STRING_SIZE]; + char port_local[MAX_STRING_SIZE]; + sockaddr_t address, local_address = {{0}}; uint32_t options; int weight; @@ -117,7 +117,8 @@ bool add_edge_h(connection_t *c, const char *request) { /* Convert addresses */ address = str2sockaddr(to_address, to_port); - local_address = str2sockaddr(address_local, port_local); + if(parameter_count >= 8) + local_address = str2sockaddr(address_local, port_local); /* Check if edge already exists */ -- 2.20.1