Browse Source

protocol fixes

master
Michael Preisach 4 years ago
parent
commit
397fde803a
  1. 15
      member.c
  2. 3
      server.c

15
member.c

@ -99,7 +99,7 @@ int member_join(char *buffer) {
break;
case ISSUERPUB:
if (0 == strncasecmp("PUBLISH", buffer, 7)) {
printf("ISSUER > MEMBER: %s", buffer);
printf("ISSUER > MEMBER: %s\n", buffer);
uint8_t binbuf[MAX_BUFSIZE];
char *current = &buffer[8];
ecdaa_decode(current, binbuf, ECDAA_ISSUER_PUBLIC_KEY_FP256BN_LENGTH);
@ -124,7 +124,7 @@ int member_join(char *buffer) {
break;
case APPEND:
if (0 == strncasecmp("JOINSTART", buffer, 9)) {
printf("ISSUER > MEMBER: %s", buffer);
printf("ISSUER > MEMBER: %s\n", buffer);
member_joinappend(buffer);
member.state = JOINPROCEED;
} else {
@ -135,7 +135,7 @@ int member_join(char *buffer) {
break;
case JOINPROCEED:
if (0 == strncasecmp("JOINPROCEED", buffer, 11)) {
printf("ISSUER > MEMBER: %s", buffer);
printf("ISSUER > MEMBER: %s\n", buffer);
member_joinfinish(buffer);
member.state = JOINED;
ret = 1;
@ -258,11 +258,14 @@ int member_joinfinish(char *buffer) {
bincur = &binbuf[ECDAA_CREDENTIAL_FP256BN_LENGTH];
ecdaa_decode(current, bincur, ECDAA_CREDENTIAL_FP256BN_SIGNATURE_LENGTH);
ret = ecdaa_credential_FP256BN_deserialize_with_signature(&member.cred, &member.mpk, &member.ipk.gpk, binbuf, bincur);
bzero(buffer, MAX_BUFSIZE);
if(-1 == ret) {
printf("member_joinfinish: credential is malformed!\n");
strncpy(buffer, "ERR", 3);
ret = -1;
} else if(-2 == ret) {
printf("member_joinfinish: siganture of credential is invalid\n");
strncpy(buffer, "ERR", 3);
ret = -1;
}
printf("member_joinfinish: writing key-pair and credential to disk\n");
@ -270,9 +273,11 @@ int member_joinfinish(char *buffer) {
0 != ecdaa_member_secret_key_FP256BN_serialize_file(member_secret_key_file, &member.msk) ||
0 != ecdaa_credential_FP256BN_serialize_file(member_credential_file, &member.cred)) {
printf("issuer_setup: Error saving key-pair or credential to disk\n");
return -1;
strncpy(buffer, "ERR", 3);
ret = -1;
} else {
strncpy(buffer, "OK", 2);
}
return ret;
}

3
server.c

@ -66,9 +66,8 @@ int server_start(conn_handler handler, int16_t port) {
if (0 <= ret && 0 >= write(clientfd, buffer, strlen(buffer))) {
printf("server_start: cannot write to socket\n");
ret = -1;
ret = 1;
}
}
if (0 != close(clientfd)) {
printf("server_start: failed to close client connection properly\n");

Loading…
Cancel
Save