Browse Source

protocol fixes

master
Michael Preisach 4 years ago
parent
commit
bf7835a409
  1. 27
      issuer.c

27
issuer.c

@ -64,13 +64,15 @@ int process_issuer(char *buffer) {
issuer.state = READY;
break;
default:
bzero(buffer, MAX_BUFSIZE);
strncpy(buffer, "ERR\n", 4);
issuer.state = READY;
printf("ignoring command\n");
break;
}
} else if (0 == strncasecmp("RESET", buffer, 4)) {
switch (issuer.state) {
case READY:
case JOINSTART:
case JOINPROCEED:
printf("generate new issuer identity\n");
if (0 == issuer_setup(buffer)) {
issuer.state = READY;
@ -78,11 +80,9 @@ int process_issuer(char *buffer) {
printf("issuer setup failed\n");
return 2;
}
if(0 == issuer_joinstart(buffer)) {
issuer.state = JOINSTART;
}
break;
default:
printf("Reset not possible\n");
bzero(buffer, MAX_BUFSIZE);
strncpy(buffer, "ERR\n", 4);
break;
@ -95,7 +95,7 @@ int process_issuer(char *buffer) {
}
break;
default:
issuer.state = READY;
printf("Issuer not ready for join\n");
bzero(buffer, MAX_BUFSIZE);
strncpy(buffer, "ERR\n", 4);
break;
@ -104,11 +104,11 @@ int process_issuer(char *buffer) {
switch (issuer.state) {
case JOINSTART:
if(0 == issuer_joinproceed(buffer)) {
issuer.state = READY;
issuer.state = JOINPROCEED;
}
break;
default:
issuer.state = READY;
printf("Issuer not ready for append\n");
bzero(buffer, MAX_BUFSIZE);
strncpy(buffer, "ERR\n", 4);
break;
@ -116,16 +116,18 @@ int process_issuer(char *buffer) {
} else if (0 == strncasecmp("PUBLISH", buffer, 7)) {
switch (issuer.state) {
case READY:
case JOINPROCEED:
case JOINSTART:
issuer_publish(buffer);
issuer.state = READY;
break;
default:
printf("There are no keys to publish\n");
bzero(buffer, MAX_BUFSIZE);
strncpy(buffer, "ERR\n", 4);
break;
}
} else if (0 == strncasecmp("EXIT", buffer, 4)) {
printf("exit()\n");
printf("exiting...\n");
bzero(buffer, MAX_BUFSIZE);
strncpy(buffer, "OK\n", 3);
ret = 1;
@ -134,14 +136,13 @@ int process_issuer(char *buffer) {
strncpy(buffer, "OK\n", 3);
ret = 2;
} else {
printf("error()\n");
printf("unknown command\n");
bzero(buffer, MAX_BUFSIZE);
strncpy(buffer, "ERR\n", 4);
issuer.state = READY;
ret = 0;
}
printf("< ISSUER: %s", buffer);
printf("< ISSUER: %s\n", buffer);
return ret;
}

Loading…
Cancel
Save