X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Finvitation.c;h=c059ca3c2ca31d562f684851c0df8e2e98789145;hb=63a3369cbc41ba68e221da174c28f5f909c2ed8d;hp=d6f00a55e6e6e1b24a29db1ad3170ab566d31250;hpb=87f96aec8c48327d879c20ff2b789c88a675173d;p=tinc diff --git a/src/invitation.c b/src/invitation.c index d6f00a55..c059ca3c 100644 --- a/src/invitation.c +++ b/src/invitation.c @@ -414,8 +414,10 @@ int cmd_invite(int argc, char *argv[]) { fclose(f); - if(connect_tincd(false)) { + if(connect_tincd(true)) { sendline(fd, "%d %d", CONTROL, REQ_RELOAD); + } else { + fprintf(stderr, "Could not signal the tinc daemon. Please restart or reload it manually.\n"); } } else { key = ecdsa_read_pem_private_key(f); @@ -769,13 +771,19 @@ make_names: l[len] = 0; + // Ignore lines with empty variable names + if(!*l) { + continue; + } + // Is it a Name? - if(!strcasecmp(l, "Name")) + if(!strcasecmp(l, "Name")) { if(strcmp(value, name)) { break; } else { continue; - } else if(!strcasecmp(l, "NetName")) { + } + } else if(!strcasecmp(l, "NetName")) { continue; } @@ -1059,7 +1067,7 @@ static bool invitation_receive(void *handle, uint8_t type, const void *msg, uint return finalize_join(); case 2: - fprintf(stderr, "Invitation succesfully accepted.\n"); + fprintf(stderr, "Invitation successfully accepted.\n"); shutdown(sock, SHUT_RDWR); success = true; break; @@ -1195,6 +1203,7 @@ next: aip = aip->ai_next; if(!aip) { + freeaddrinfo(ai); return 1; } } @@ -1240,6 +1249,8 @@ next: goto next; } + freeaddrinfo(ai); + // Check if the hash of the key he gave us matches the hash in the URL. char *fingerprint = line + 2; char hishash[64];