Let a server explicitly send a notification when the invitation protocol succeeded.

This commit is contained in:
Guus Sliepen 2013-08-20 22:36:31 +02:00
parent c798f73093
commit 5dec1c2571
2 changed files with 8 additions and 4 deletions

View file

@ -688,10 +688,6 @@ make_names:
check_port(name); check_port(name);
fprintf(stderr, "Invitation succesfully accepted.\n");
shutdown(sock, SHUT_RDWR);
success = true;
ask_netname: ask_netname:
if(ask_netname) { if(ask_netname) {
fprintf(stderr, "Enter a new netname: "); fprintf(stderr, "Enter a new netname: ");
@ -720,6 +716,7 @@ ask_netname:
return true; return true;
} }
static bool invitation_send(void *handle, uint8_t type, const char *data, size_t len) { static bool invitation_send(void *handle, uint8_t type, const char *data, size_t len) {
while(len) { while(len) {
int result = send(sock, data, len, 0); int result = send(sock, data, len, 0);
@ -748,6 +745,12 @@ static bool invitation_receive(void *handle, uint8_t type, const char *msg, uint
case 1: case 1:
return finalize_join(); return finalize_join();
case 2:
fprintf(stderr, "Invitation succesfully accepted.\n");
shutdown(sock, SHUT_RDWR);
success = true;
break;
default: default:
return false; return false;
} }

View file

@ -174,6 +174,7 @@ static bool finalize_invitation(connection_t *c, const char *data, uint16_t len)
fclose(f); fclose(f);
logger(DEBUG_CONNECTIONS, LOG_INFO, "Key succesfully received from %s (%s)", c->name, c->hostname); logger(DEBUG_CONNECTIONS, LOG_INFO, "Key succesfully received from %s (%s)", c->name, c->hostname);
sptps_send_record(&c->sptps, 2, data, 0);
return true; return true;
} }