A simple library to support serving https.
Dependents: oldheating gps motorhome heating
Diff: tls/tls-response.c
- Revision:
- 21:a6d6e26dd742
- Parent:
- 19:f22327e8be7b
- Child:
- 23:e93d5529b7a6
diff -r 197c3e6e8b8d -r a6d6e26dd742 tls/tls-response.c --- a/tls/tls-response.c Wed Oct 16 11:11:03 2019 +0000 +++ b/tls/tls-response.c Wed Oct 16 17:14:03 2019 +0000 @@ -1,3 +1,4 @@ +#include "tls.h" #include "tls-defs.h" #include "tls-connection.h" #include "tls-session.h" @@ -46,7 +47,7 @@ } static void addHandshakeServerHello(uint8_t** pp, struct TlsConnection* pConnection) { - Log(" sending handshake server hello\r\n"); + if (TlsTrace) Log(" sending handshake server hello\r\n"); uint8_t* p = *pp; *p++ = TLS_HANDSHAKE_SERVER_HELLO; @@ -89,7 +90,7 @@ } static void addHandshakeServerHelloDone(uint8_t** pp) { - LogTime(" sending handshake server hello done\r\n"); + if (TlsTrace) LogTime(" sending handshake server hello done\r\n"); uint8_t* p = *pp; *p++ = TLS_HANDSHAKE_SERVER_HELLO_DONE; *p++ = 0x00; @@ -99,7 +100,7 @@ } static void addHandshakeFinished(uint8_t** pp, struct TlsConnection* pConnection, struct TlsSession* pSession) { - LogTime(" sending handshake finished\r\n"); + if (TlsTrace) LogTime(" sending handshake finished\r\n"); uint8_t* p = *pp; TlsAes128CbcSha1EncryptStart(&p); @@ -124,7 +125,7 @@ } static void addChangeCipher(uint8_t** pp, struct TlsConnection* pConnection) { - LogTime(" sending change cipher\r\n"); + if (TlsTrace) LogTime(" sending change cipher\r\n"); uint8_t* p = *pp; *p++ = TLS_CONTENT_TYPE_CHANGE_CIPHER; //Content is change cipher @@ -140,7 +141,7 @@ } static void addAlert(uint8_t** pp, struct TlsConnection* pConnection, uint8_t level, uint8_t description) { - LogTime(" sending alert\r\n"); + if (TlsTrace) LogTime(" sending alert\r\n"); Log (" - "); TlsLogAlertLevel(level); Log(": "); TlsLogAlertDescription(description); Log("\r\n"); uint8_t* p = *pp; @@ -215,9 +216,12 @@ static bool sendContent(struct TlsConnection* pConnection, int* pWindowSize, uint8_t* pWindow, uint32_t positionOfWindowInStream) { //Start - LogTime(" adding application content\r\n"); - LogF("- available window size %d\r\n", *pWindowSize); - LogF("- position of window in stream %d\r\n", positionOfWindowInStream); + if (TlsTrace) + { + LogTime(" adding application content\r\n"); + LogF("- available window size %d\r\n", *pWindowSize); + LogF("- position of window in stream %d\r\n", positionOfWindowInStream); + } uint8_t* p = pWindow; *p++ = TLS_CONTENT_TYPE_APPLICATION; *p++ = 0x03; *p++ = 0x03; @@ -230,11 +234,11 @@ //Add the plain payload int payloadSize = *pWindowSize - 5 - TLS_AES_128_CBC_SHA1_MAX_OVERHEAD; - LogF("- available payload size %d\r\n", payloadSize); + if (TlsTrace) LogF("- available payload size %d\r\n", payloadSize); uint32_t positionOfPayloadInStream = positionOfWindowInStream - pConnection->serverPositionInStreamOffset; - LogF("- position of payload in stream %d\r\n", positionOfPayloadInStream); + if (TlsTrace) LogF("- position of payload in stream %d\r\n", positionOfPayloadInStream); bool finished = HttpAdd(pConnection->id, &payloadSize, (char*)p, positionOfPayloadInStream); //Return whatever HTTP would be - LogF("- resulting payload size %d\r\n", payloadSize); + if (TlsTrace) LogF("- resulting payload size %d\r\n", payloadSize); p += payloadSize; TlsAes128CbcSha1EncryptEnd(&p, pConnection, TLS_CONTENT_TYPE_APPLICATION); @@ -245,7 +249,7 @@ //Finalise pConnection->serverSequence++; *pWindowSize = p - pWindow; - LogF("- resulting window size %d\r\n", *pWindowSize); + if (TlsTrace) LogF("- resulting window size %d\r\n", *pWindowSize); pConnection->serverPositionInStreamOffset += *pWindowSize - payloadSize; return finished;