mirror of https://github.com/wolfSSL/wolfTPM.git
Address review comments on style and portable calls
parent
322d20744f
commit
1fe6b07daf
|
@ -83,7 +83,7 @@ static TPM_RC SwTpmReceive(TPM2_CTX* ctx, void* buffer, size_t rxSz)
|
||||||
TPM_RC rc = TPM_RC_SUCCESS;
|
TPM_RC rc = TPM_RC_SUCCESS;
|
||||||
ssize_t wrc = 0;
|
ssize_t wrc = 0;
|
||||||
size_t bytes_remaining = rxSz;
|
size_t bytes_remaining = rxSz;
|
||||||
char* ptr = buffer;
|
char* ptr = (char*)buffer;
|
||||||
|
|
||||||
if (ctx == NULL || ctx->tcpCtx.fd <= 0 || buffer == NULL) {
|
if (ctx == NULL || ctx->tcpCtx.fd <= 0 || buffer == NULL) {
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
|
@ -95,7 +95,8 @@ static TPM_RC SwTpmReceive(TPM2_CTX* ctx, void* buffer, size_t rxSz)
|
||||||
#ifdef DEBUG_WOLFTPM
|
#ifdef DEBUG_WOLFTPM
|
||||||
if (wrc == 0) {
|
if (wrc == 0) {
|
||||||
printf("Failed to read from TPM socket: EOF\n");
|
printf("Failed to read from TPM socket: EOF\n");
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
printf("Failed to read from TPM socket %d, got errno %d"
|
printf("Failed to read from TPM socket %d, got errno %d"
|
||||||
" = %s\n", ctx->tcpCtx.fd, errno, strerror(errno));
|
" = %s\n", ctx->tcpCtx.fd, errno, strerror(errno));
|
||||||
}
|
}
|
||||||
|
@ -128,7 +129,7 @@ static TPM_RC SwTpmConnect(TPM2_CTX* ctx, const char* host, const char* port)
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&hints, 0, sizeof(struct addrinfo));
|
XMEMSET(&hints, 0, sizeof(struct addrinfo));
|
||||||
hints.ai_family = AF_UNSPEC;
|
hints.ai_family = AF_UNSPEC;
|
||||||
hints.ai_socktype = SOCK_STREAM;
|
hints.ai_socktype = SOCK_STREAM;
|
||||||
|
|
||||||
|
@ -144,7 +145,8 @@ static TPM_RC SwTpmConnect(TPM2_CTX* ctx, const char* host, const char* port)
|
||||||
|
|
||||||
if (connect(fd, rp->ai_addr, rp->ai_addrlen) == -1) {
|
if (connect(fd, rp->ai_addr, rp->ai_addrlen) == -1) {
|
||||||
close(fd);
|
close(fd);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -153,11 +155,12 @@ static TPM_RC SwTpmConnect(TPM2_CTX* ctx, const char* host, const char* port)
|
||||||
if (rp != NULL) {
|
if (rp != NULL) {
|
||||||
ctx->tcpCtx.fd = fd;
|
ctx->tcpCtx.fd = fd;
|
||||||
rc = TPM_RC_SUCCESS;
|
rc = TPM_RC_SUCCESS;
|
||||||
} else {
|
|
||||||
#ifdef DEBUG_WOLFTPM
|
|
||||||
printf("Failed to connect to %s %s\n", host, port);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#ifdef DEBUG_WOLFTPM
|
||||||
|
else {
|
||||||
|
printf("Failed to connect to %s %s\n", host, port);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
@ -172,7 +175,7 @@ static TPM_RC SwTpmDisconnect(TPM2_CTX* ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* end swtpm session */
|
/* end swtpm session */
|
||||||
tss_cmd = htonl(TPM_SESSION_END);
|
tss_cmd = TPM2_Packet_SwapU32(TPM_SESSION_END);
|
||||||
rc = SwTpmTransmit(ctx, &tss_cmd, sizeof(uint32_t));
|
rc = SwTpmTransmit(ctx, &tss_cmd, sizeof(uint32_t));
|
||||||
#ifdef WOLFTPM_DEBUG_VERBOSE
|
#ifdef WOLFTPM_DEBUG_VERBOSE
|
||||||
if (rc != TPM_RC_SUCCESS) {
|
if (rc != TPM_RC_SUCCESS) {
|
||||||
|
@ -219,7 +222,7 @@ int TPM2_SWTPM_SendCommand(TPM2_CTX* ctx, TPM2_Packet* packet)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* send start */
|
/* send start */
|
||||||
tss_word = htonl(TPM_SEND_COMMAND);
|
tss_word = TPM2_Packet_SwapU32(TPM_SEND_COMMAND);
|
||||||
if (rc == TPM_RC_SUCCESS) {
|
if (rc == TPM_RC_SUCCESS) {
|
||||||
rc = SwTpmTransmit(ctx, &tss_word, sizeof(uint32_t));
|
rc = SwTpmTransmit(ctx, &tss_word, sizeof(uint32_t));
|
||||||
}
|
}
|
||||||
|
@ -230,7 +233,7 @@ int TPM2_SWTPM_SendCommand(TPM2_CTX* ctx, TPM2_Packet* packet)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* buffer size */
|
/* buffer size */
|
||||||
tss_word = htonl(packet->pos);
|
tss_word = TPM2_Packet_SwapU32(packet->pos);
|
||||||
if (rc == TPM_RC_SUCCESS) {
|
if (rc == TPM_RC_SUCCESS) {
|
||||||
rc = SwTpmTransmit(ctx, &tss_word, sizeof(uint32_t));
|
rc = SwTpmTransmit(ctx, &tss_word, sizeof(uint32_t));
|
||||||
}
|
}
|
||||||
|
@ -243,7 +246,7 @@ int TPM2_SWTPM_SendCommand(TPM2_CTX* ctx, TPM2_Packet* packet)
|
||||||
/* receive response */
|
/* receive response */
|
||||||
if (rc == TPM_RC_SUCCESS) {
|
if (rc == TPM_RC_SUCCESS) {
|
||||||
rc = SwTpmReceive(ctx, &tss_word, sizeof(uint32_t));
|
rc = SwTpmReceive(ctx, &tss_word, sizeof(uint32_t));
|
||||||
rspSz = ntohl(tss_word);
|
rspSz = TPM2_Packet_SwapU32(tss_word);
|
||||||
if (rspSz > packet->size) {
|
if (rspSz > packet->size) {
|
||||||
#ifdef WOLFTPM_DEBUG_VERBOSE
|
#ifdef WOLFTPM_DEBUG_VERBOSE
|
||||||
printf("Response size(%d) larger than command buffer(%d)\n",
|
printf("Response size(%d) larger than command buffer(%d)\n",
|
||||||
|
@ -253,7 +256,9 @@ int TPM2_SWTPM_SendCommand(TPM2_CTX* ctx, TPM2_Packet* packet)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: could hang as currently implemented, but is not TSS compliant */
|
/* This performs a blocking read and could hang. This means a
|
||||||
|
* misbehaving actor on the other end of the socket
|
||||||
|
*/
|
||||||
if (rc == TPM_RC_SUCCESS) {
|
if (rc == TPM_RC_SUCCESS) {
|
||||||
rc = SwTpmReceive(ctx, packet->buf, rspSz);
|
rc = SwTpmReceive(ctx, packet->buf, rspSz);
|
||||||
}
|
}
|
||||||
|
@ -261,7 +266,7 @@ int TPM2_SWTPM_SendCommand(TPM2_CTX* ctx, TPM2_Packet* packet)
|
||||||
/* receive ack */
|
/* receive ack */
|
||||||
if (rc == TPM_RC_SUCCESS) {
|
if (rc == TPM_RC_SUCCESS) {
|
||||||
rc = SwTpmReceive(ctx, &tss_word, sizeof(uint32_t));
|
rc = SwTpmReceive(ctx, &tss_word, sizeof(uint32_t));
|
||||||
tss_word = ntohl(tss_word);
|
tss_word = TPM2_Packet_SwapU32(tss_word);
|
||||||
#ifdef WOLFTPM_DEBUG
|
#ifdef WOLFTPM_DEBUG
|
||||||
if (tss_word != 0) {
|
if (tss_word != 0) {
|
||||||
printf("SWTPM ack %d\n", tss_word);
|
printf("SWTPM ack %d\n", tss_word);
|
||||||
|
|
Loading…
Reference in New Issue