From: Guus Sliepen Date: Tue, 10 Mar 2020 21:42:33 +0000 (+0100) Subject: Add all recent addresses resolved from a hostname in meshlink_invite(). X-Git-Url: http://git.meshlink.io/?p=meshlink;a=commitdiff_plain;h=fbcf08931e531fc2bd4a7e42d0ab03fed26fb9fc Add all recent addresses resolved from a hostname in meshlink_invite(). When a canonical hostname or an invitation address resolves to multiple numeric addresses, add all of them as recent addresses for ourself, so they are all part of the host config file we send to the invitee. --- diff --git a/src/meshlink.c b/src/meshlink.c index b9cc1877..789121d1 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -510,8 +510,10 @@ static char *get_my_hostname(meshlink_handle_t *mesh, uint32_t flags) { continue; } - // Remember the address - node_add_recent_address(mesh, mesh->self, (sockaddr_t *)ai_in->ai_addr); + // Remember the address(es) + for(struct addrinfo *aip = ai_in; aip; aip = aip->ai_next) { + node_add_recent_address(mesh, mesh->self, (sockaddr_t *)aip->ai_addr); + } if(flags & MESHLINK_INVITE_NUMERIC) { // We don't need to do any further conversion