From bf7835a409cf747d6ef90018433f51fa904cbc61 Mon Sep 17 00:00:00 2001 From: Michael Preisach Date: Fri, 30 Jul 2021 13:19:57 +0200 Subject: [PATCH] protocol fixes --- issuer.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/issuer.c b/issuer.c index dcb754d..9d635cf 100644 --- a/issuer.c +++ b/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; }