Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent TLS negotiation failure with (AP+STA) and max power save mode (IDFGH-4142) #6006

Closed
jgcjoec opened this issue Oct 20, 2020 · 32 comments

Comments

@jgcjoec
Copy link

jgcjoec commented Oct 20, 2020

#5638 3 Environment

  • Development Kit: HiLetgo ESP32 from Amazon
  • Module or chip used: ESP32-WROOM-32D
  • IDF version: v4.0.1 and v4.1
  • Build System: idf.py
  • Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2020r2) 8.2.0
  • Operating System: Windows
  • (Windows only) environment type: ESP Command Prompt
  • Using an IDE?: No
  • Power Supply: USB

Problem Description

I have an ESP-IDF application that has the following major components:

  1. http_server for provisioning and to view sensor readings
  2. Wi-Fi connection for provisioning and to transmit sensor readings
  3. A task that reads various sensors attached to the ESP32

This application issues the following HTTP POST requests to an AWS-hosted application. The application is hosted using AWS ECS, with an application load balancer in front of ECS. SSL is terminated at the load balancer

  1. Provisioning
  2. Heartbeat
  3. Alerting

For simplicity, let's just look at provisioning (all HTTP requests seem to be equally affected by this problem)

Sample provisioning request (NOTE: JSON has been purposefully obfuscated)
POST /api/Tenant/Register HTTP/1.1
User-Agent: kIoT
Host: www.jdiflowbot.com
Content-Type: application/json
Content-Length: 230

{"FirstName":"somename","LastName":"somename","PhoneNumber":"somenumber","EmailAddress":"[email protected]","NickName":"test","DeviceAddress":"1122334455","DeviceName":"Test","ModelName":"Test"}

Sometimes, these HTTP requests will succeed, but more often than not, they appear to fail during the TLS negotiation phase.

Things I know:

  1. These HTTP requests ALWAYS succeed when issued from a PC say, using Postman
  2. ECDHE-RSA-AES128-GCM-SHA256 is negotiated when HTTP requests that are successful are issued from ESP-IDF
  3. ECDHE-RSA-AES128-GCM-SHA256 is also negotiated when HTTP requests are issued from my PC
  4. The error is not always the same. Sometimes there is no clear error message. Error messages that I have seen include "mbedtls_ssl_handshake returned -0x50", "esp-tls: Failed to open new connection in specified timeout" and probably some others I am forgetting

Things I've tried:

  1. Unicore more... no effect
  2. Adjust clock speed... no effect
  3. Monitoring dynamic memory... always seems to be > 140KB free
  4. Disabling hardware acceleration in mbedTLS... no effect
  5. Disabling unused ciphers in mbedTLS... this seemed to reduce the frequency of HTTP request failures
  6. Upgrading from ESP-IDF 4.0.1 to 4.1... no effect. I did not try anything newer than 4.1
  7. Setting AWS Desync protection to "Monitor" on my AWS load balancer... no effect

Expected Behavior

The HTTP requests should always succeed from ESP-IDF if they succeed from a PC on the same network

Actual Behavior

The HTTP requests from ESP-IDF do not always succeed

Steps to reproduce

I am hopeful that if someone sees my code snippet and the logs, someone more familiar with mbedTLS than I am can point me in the right direction

Code to reproduce this issue

Portions not relevent to HTTP requests have been omitted for simplicity. I also did not include the code for the http handler, but if necessary, I can provide that. It is fairly close to the sample from Espressif, though. This code is obviously designed to retry any failed HTTP request (up to 20 times currently)

http_response_t send_http_post_request(const char* url, char* json)
{
	while (!network_is_ready)
	{
		ESP_LOGD(TAG, "Waiting for network connection...");
		vTaskDelay(pdMS_TO_TICKS(1000));
	}
	ESP_LOGD(TAG, "Network is ready.");

	init_http(url);
	
	int request_size = strlen(json);	

	http_response_t response = {
		.success = false,
		.status_code = -1,
		.data = NULL,
		.response_date_time = NULL
	};
	
	int retry_count = 1;
	while (response.success == false && retry_count < MAX_RETRY_COUNT + 1 && network_is_ready)
	{
		ESP_LOGI(TAG, "Current free heap: %d, Minimum heap: %d", esp_get_free_heap_size(), esp_get_minimum_free_heap_size());
		esp_http_client_set_url(http_client, url);
		esp_http_client_set_method(http_client, HTTP_METHOD_POST);
		esp_http_client_set_post_field(http_client, json, request_size);
		esp_http_client_set_header(http_client, "Content-Type", "application/json");
		esp_http_client_set_header(http_client, "User-Agent", "kIoT");

		ESP_LOGD(TAG, "Starting HTTP POST to: %s of %d bytes\nJSON: %s", url, request_size, json);
		esp_err_t err = esp_http_client_perform(http_client);
		if (err == ESP_OK)
		{
			int status_code = esp_http_client_get_status_code(http_client);
			response.status_code = status_code;
			ESP_LOGD(TAG, "HTTP POST Status = %d, content_length = %d", status_code, esp_http_client_get_content_length(http_client));
			if (status_code >= 100 && status_code <= 299)
			{
				response.success = true;
			}
			else if ((status_code >= 400 && status_code <= 499) || (status_code == 500))
			{
				// These codes are NOT indicative of a connection problem. Bail immediately - don't waste power retrying.
				finish(http_client, &response, start, end_init, end_request, end_process_response);
				response.success = false;

				ESP_LOGE(TAG, "HTTP POST to %s FAILED. HTTP status code: %d, %d bytes\nJSON: %s", url, status_code, request_size, json);

				return response;
			}
		}
		else
		{
			ESP_LOGI(TAG, "Current free heap: %d, Minimum heap: %d", esp_get_free_heap_size(), esp_get_minimum_free_heap_size());
			ESP_LOGE(TAG, "HTTP POST to %s FAILED with error %s. %d bytes\nJSON: %s", url, esp_err_to_name(err), request_size, json);
		}
		
		if (!response.success)
		{
			ESP_LOGI(TAG, "Current free heap: %d, Minimum heap: %d", esp_get_free_heap_size(), esp_get_minimum_free_heap_size());
			ESP_LOGE(TAG, "Retrying HTTP POST to %s... %d of %d times", url, retry_count, MAX_RETRY_COUNT);
			shutdown_http_client();
			init_http(url);
			retry_count++;
			vTaskDelay(pdMS_TO_TICKS(1000));
		}
	}
	finish();

	return response;
}

void finish()
{
	if (http_response_buff != NULL)
	{
		int len = strlen(http_response_buff);
		response->data = calloc(len + 1, sizeof(char));
		strncpy(response->data, http_response_buff, len);
		free(http_response_buff);
		http_response_buff = NULL;
	}

	if (http_response_datetime != NULL)
	{
		int len = strlen(http_response_datetime);
		response->response_date_time = calloc(len + 1, sizeof(char));
		strncpy(response->response_date_time, http_response_datetime, len);
		free(http_response_datetime);
		http_response_datetime = NULL;
	}
}

void shutdown_http_client()
{
	if (http_client != NULL)
	{
		esp_http_client_close(http_client);
		esp_http_client_cleanup(http_client);
		http_client = NULL;
	}
}

void init_http(const char* url)
{
	if (http_client == NULL)
	{
		esp_http_client_config_t config = {
			.url = url,
			.event_handler = _http_event_handler
		};
		http_client = esp_http_client_init(&config);
	}
}

Debug Logs

The debug logs are very, very long since logging is set to "Verbose". I copied first the "retry" from the while() loop above.

[ ... logs from HTTP request 0 removed as they were co-mingled with other irrelevant logs ... ]

E (72790) FlowBot: HTTP POST to https://www.jdiflowbot.com/api/Tenant/Register FAILED with error ESP_ERR_HTTP_FETCH_HEADER. 230 bytes
JSON: (REDACTED... see sample)
I (72820) FlowBot: Current free heap: 175020, Minimum heap: 143264
E (72820) FlowBot: Retrying HTTP POST to https://www.jdiflowbot.com/api/Tenant/Register... 1 of 20 times
D (72830) FlowBot: HTTP_EVENT_DISCONNECTED
D (72840) FlowBot: HTTP_EVENT_DISCONNECTED
I (73850) FlowBot: Current free heap: 207272, Minimum heap: 143264
D (73850) HTTP_CLIENT: set post file length = 230
D (73850) FlowBot: Starting HTTP POST to: https://www.jdiflowbot.com/api/Tenant/Register of 230 bytes
JSON: (REDACTED... see sample)
D (73880) HTTP_CLIENT: Begin connect to: https://www.jdiflowbot.com:443
D (73880) esp-tls: host:www.jdiflowbot.com: strlen 18
D (73960) esp-tls: handshake in progress...
I (73960) mbedtls: ssl_tls.c:8084 => handshake

I (73960) mbedtls: ssl_cli.c:3510 client state: 0

I (73960) mbedtls: ssl_tls.c:2755 => flush output

I (73970) mbedtls: ssl_tls.c:2767 <= flush output

I (73970) mbedtls: ssl_cli.c:3510 client state: 1

I (73980) mbedtls: ssl_tls.c:2755 => flush output

I (73980) mbedtls: ssl_tls.c:2767 <= flush output

I (73990) mbedtls: ssl_cli.c:774 => write client hello

D (73990) mbedtls: ssl_cli.c:812 client hello, max version: [3:3]

D (74000) mbedtls: ssl_cli.c:703 client hello, current time: 72

D (74010) mbedtls: ssl_cli.c:821 dumping 'client hello, random bytes' (32 bytes)

D (74010) mbedtls: ssl_cli.c:821 0000:  00 00 00 48 5e 50 1a 24 4b a6 44 97 e0 b2 dd 0c  ...H^P.$K.D.....

D (74030) mbedtls: ssl_cli.c:821 0010:  d4 b3 82 4f ac 70 1c 8a 3d 09 ad de 7c 6b a0 d6  ...O.p..=...|k..

D (74030) mbedtls: ssl_cli.c:874 client hello, session id len.: 0

D (74040) mbedtls: ssl_cli.c:875 dumping 'client hello, session id' (0 bytes)

D (74050) mbedtls: ssl_cli.c:922 client hello, add ciphersuite: c030

D (74050) mbedtls: ssl_cli.c:922 client hello, add ciphersuite: c028

D (74060) mbedtls: ssl_cli.c:922 client hello, add ciphersuite: c014

D (74070) mbedtls: ssl_cli.c:922 client hello, add ciphersuite: c02f

D (74070) mbedtls: ssl_cli.c:922 client hello, add ciphersuite: c027

D (74080) mbedtls: ssl_cli.c:922 client hello, add ciphersuite: c013

D (74090) mbedtls: ssl_cli.c:934 client hello, got 6 ciphersuites (excluding SCSVs)

D (74090) mbedtls: ssl_cli.c:943 adding EMPTY_RENEGOTIATION_INFO_SCSV

D (74100) mbedtls: ssl_cli.c:992 client hello, compress len.: 1

D (74110) mbedtls: ssl_cli.c:994 client hello, compress alg.: 0

D (74110) mbedtls: ssl_cli.c:69 client hello, adding server name extension: www.jdiflowbot.com

D (74120) mbedtls: ssl_cli.c:186 client hello, adding signature_algorithms extension

D (74130) mbedtls: ssl_cli.c:271 client hello, adding supported_elliptic_curves extension

D (74140) mbedtls: ssl_cli.c:336 client hello, adding supported_point_formats extension

D (74150) mbedtls: ssl_cli.c:518 client hello, adding encrypt_then_mac extension

D (74150) mbedtls: ssl_cli.c:552 client hello, adding extended_master_secret extension

D (74160) mbedtls: ssl_cli.c:585 client hello, adding session ticket extension

D (74170) mbedtls: ssl_cli.c:1071 client hello, total extension length: 99

I (74180) mbedtls: ssl_tls.c:3184 => write handshake message

I (74180) mbedtls: ssl_tls.c:3343 => write record

D (74190) mbedtls: ssl_tls.c:3423 output record: msgtype = 22, version = [3:2], msglen = 158

V (74200) mbedtls: ssl_tls.c:3426 dumping 'output record sent to network' (163 bytes)

V (74210) mbedtls: ssl_tls.c:3426 0000:  16 03 02 00 9e 01 00 00 9a 03 03 00 00 00 48 5e  ..............H^

V (74220) mbedtls: ssl_tls.c:3426 0010:  50 1a 24 4b a6 44 97 e0 b2 dd 0c d4 b3 82 4f ac  P.$K.D........O.

V (74230) mbedtls: ssl_tls.c:3426 0020:  70 1c 8a 3d 09 ad de 7c 6b a0 d6 00 00 0e c0 30  p..=...|k......0

V (74240) mbedtls: ssl_tls.c:3426 0030:  c0 28 c0 14 c0 2f c0 27 c0 13 00 ff 01 00 00 63  .(.../.'.......c

V (74250) mbedtls: ssl_tls.c:3426 0040:  00 00 00 17 00 15 00 00 12 77 77 77 2e 6a 64 69  .........www.jdi

V (74260) mbedtls: ssl_tls.c:3426 0050:  66 6c 6f 77 62 6f 74 2e 63 6f 6d 00 0d 00 16 00  flowbot.com.....

V (74260) mbedtls: ssl_tls.c:3426 0060:  14 06 03 06 01 05 03 05 01 04 03 04 01 03 03 03  ................

V (74270) mbedtls: ssl_tls.c:3426 0070:  01 02 03 02 01 00 0a 00 18 00 16 00 19 00 1c 00  ................

V (74280) mbedtls: ssl_tls.c:3426 0080:  18 00 1b 00 17 00 16 00 1a 00 15 00 14 00 13 00  ................

V (74290) mbedtls: ssl_tls.c:3426 0090:  12 00 0b 00 02 01 00 00 16 00 00 00 17 00 00 00  ................

V (74300) mbedtls: ssl_tls.c:3426 00a0:  23 00 00                                         #..

I (74310) mbedtls: ssl_tls.c:2755 => flush output

I (74320) mbedtls: ssl_tls.c:2774 message length: 163, out_left: 163

I (74330) mbedtls: ssl_tls.c:2779 ssl->f_send() returned 163 (-0xffffff5d)

I (74330) mbedtls: ssl_tls.c:2807 <= flush output

I (74340) mbedtls: ssl_tls.c:3476 <= write record

I (74340) mbedtls: ssl_tls.c:3320 <= write handshake message

I (74350) mbedtls: ssl_cli.c:1106 <= write client hello

I (74360) mbedtls: ssl_cli.c:3510 client state: 2

I (74360) mbedtls: ssl_tls.c:2755 => flush output

I (74370) mbedtls: ssl_tls.c:2767 <= flush output

I (74370) mbedtls: ssl_cli.c:1499 => parse server hello

I (74380) mbedtls: ssl_tls.c:4311 => read record

I (74390) mbedtls: ssl_tls.c:2536 => fetch input

I (74390) mbedtls: ssl_tls.c:2697 in_left: 0, nb_want: 5

I (74400) mbedtls: ssl_tls.c:2721 in_left: 0, nb_want: 5

I (74400) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 5 (-0xfffffffb)

I (74410) mbedtls: ssl_tls.c:2742 <= fetch input

V (74420) mbedtls: ssl_tls.c:4047 dumping 'input record header' (5 bytes)

V (74420) mbedtls: ssl_tls.c:4047 0000:  16 03 03 00 3d                                   ....=

D (74430) mbedtls: ssl_tls.c:4056 input record: msgtype = 22, version = [3:3], msglen = 61

I (74440) mbedtls: ssl_tls.c:2536 => fetch input

I (74450) mbedtls: ssl_tls.c:2697 in_left: 5, nb_want: 66

I (74450) mbedtls: ssl_tls.c:2721 in_left: 5, nb_want: 66

I (74460) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 61 (-0xffffffc3)

I (74470) mbedtls: ssl_tls.c:2742 <= fetch input

V (74470) mbedtls: ssl_tls.c:4233 dumping 'input record from network' (66 bytes)

V (74480) mbedtls: ssl_tls.c:4233 0000:  16 03 03 00 3d 02 00 00 39 03 03 1c f8 af d2 69  ....=...9......i

V (74490) mbedtls: ssl_tls.c:4233 0010:  2d 4c 2b be 0c 60 85 66 22 67 9d 97 67 b0 83 f3  -L+..`.f"g..g...

V (74500) mbedtls: ssl_tls.c:4233 0020:  cd 1a d7 65 1b 3a 2c 51 03 79 bc 00 c0 2f 00 00  ...e.:,Q.y.../..

V (74510) mbedtls: ssl_tls.c:4233 0030:  11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 23  ...............#

V (74520) mbedtls: ssl_tls.c:4233 0040:  00 00                                            ..

D (74530) mbedtls: ssl_tls.c:3626 handshake message: msglen = 61, type = 2, hslen = 61

I (74540) mbedtls: ssl_tls.c:4385 <= read record

D (74540) mbedtls: ssl_cli.c:1579 dumping 'server hello, version' (2 bytes)

D (74550) mbedtls: ssl_cli.c:1579 0000:  03 03                                            ..

D (74560) mbedtls: ssl_cli.c:1604 server hello, current time: 486059986

D (74560) mbedtls: ssl_cli.c:1610 dumping 'server hello, random bytes' (32 bytes)

D (74570) mbedtls: ssl_cli.c:1610 0000:  1c f8 af d2 69 2d 4c 2b be 0c 60 85 66 22 67 9d  ....i-L+..`.f"g.

D (74580) mbedtls: ssl_cli.c:1610 0010:  97 67 b0 83 f3 cd 1a d7 65 1b 3a 2c 51 03 79 bc  .g......e.:,Q.y.

D (74590) mbedtls: ssl_cli.c:1690 server hello, session id len.: 0

D (74600) mbedtls: ssl_cli.c:1691 dumping 'server hello, session id' (0 bytes)

D (74610) mbedtls: ssl_cli.c:1729 no session has been resumed

D (74610) mbedtls: ssl_cli.c:1731 server hello, chosen ciphersuite: c02f

D (74620) mbedtls: ssl_cli.c:1732 server hello, compress alg.: 0

D (74620) mbedtls: ssl_cli.c:1764 server hello, chosen ciphersuite: TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256

I (74630) mbedtls: ssl_cli.c:1789 server hello, total extension length: 17

D (74640) mbedtls: ssl_cli.c:1809 found renegotiation extension

D (74650) mbedtls: ssl_cli.c:1888 found supported_point_formats extension

V (74650) mbedtls: ssl_cli.c:1292 point format selected: 0

D (74660) mbedtls: ssl_cli.c:1874 found session_ticket extension

I (74670) mbedtls: ssl_cli.c:1978 <= parse server hello

I (74670) mbedtls: ssl_cli.c:3510 client state: 3

I (74680) mbedtls: ssl_tls.c:2755 => flush output

I (74680) mbedtls: ssl_tls.c:2767 <= flush output

I (74690) mbedtls: ssl_tls.c:5655 => parse certificate

I (74700) mbedtls: ssl_tls.c:4311 => read record

I (74700) mbedtls: ssl_tls.c:2536 => fetch input

I (74710) mbedtls: ssl_tls.c:2697 in_left: 0, nb_want: 5

I (74710) mbedtls: ssl_tls.c:2721 in_left: 0, nb_want: 5

I (74720) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 5 (-0xfffffffb)

I (74730) mbedtls: ssl_tls.c:2742 <= fetch input

V (74730) mbedtls: ssl_tls.c:4047 dumping 'input record header' (5 bytes)

V (74740) mbedtls: ssl_tls.c:4047 0000:  16 03 03 0f a7                                   .....

D (74750) mbedtls: ssl_tls.c:4056 input record: msgtype = 22, version = [3:3], msglen = 4007

I (74760) mbedtls: ssl_tls.c:2536 => fetch input

I (74760) mbedtls: ssl_tls.c:2697 in_left: 5, nb_want: 4012

I (74770) mbedtls: ssl_tls.c:2721 in_left: 5, nb_want: 4012

I (74770) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 4007 (-0xfffff059)

I (74780) mbedtls: ssl_tls.c:2742 <= fetch input

V (74790) mbedtls: ssl_tls.c:4233 dumping 'input record from network' (4012 bytes)

V (74800) mbedtls: ssl_tls.c:4233 0000:  16 03 03 0f a7 0b 00 0f a3 00 0f a0 00 06 42 30  ..............B0

V (74810) mbedtls: ssl_tls.c:4233 0010:  82 06 3e 30 82 05 26 a0 03 02 01 02 02 08 53 74  ..>0..&.......St

V (74820) mbedtls: ssl_tls.c:4233 0020:  66 42 38 be 42 ab 30 0d 06 09 2a 86 48 86 f7 0d  fB8.B.0...*.H...

V (74830) mbedtls: ssl_tls.c:4233 0030:  01 01 0b 05 00 30 81 b4 31 0b 30 09 06 03 55 04  .....0..1.0...U.

V (74840) mbedtls: ssl_tls.c:4233 0040:  06 13 02 55 53 31 10 30 0e 06 03 55 04 08 13 07  ...US1.0...U....

V (74850) mbedtls: ssl_tls.c:4233 0050:  41 72 69 7a 6f 6e 61 31 13 30 11 06 03 55 04 07  Arizona1.0...U..

V (74860) mbedtls: ssl_tls.c:4233 0060:  13 0a 53 63 6f 74 74 73 64 61 6c 65 31 1a 30 18  ..Scottsdale1.0.

V (74870) mbedtls: ssl_tls.c:4233 0070:  06 03 55 04 0a 13 11 47 6f 44 61 64 64 79 2e 63  ..U....GoDaddy.c

V (74880) mbedtls: ssl_tls.c:4233 0080:  6f 6d 2c 20 49 6e 63 2e 31 2d 30 2b 06 03 55 04  om, Inc.1-0+..U.

V (74890) mbedtls: ssl_tls.c:4233 0090:  0b 13 24 68 74 74 70 3a 2f 2f 63 65 72 74 73 2e  ..$http://certs.

V (74900) mbedtls: ssl_tls.c:4233 00a0:  67 6f 64 61 64 64 79 2e 63 6f 6d 2f 72 65 70 6f  godaddy.com/repo

V (74900) mbedtls: ssl_tls.c:4233 00b0:  73 69 74 6f 72 79 2f 31 33 30 31 06 03 55 04 03  sitory/1301..U..

V (74910) mbedtls: ssl_tls.c:4233 00c0:  13 2a 47 6f 20 44 61 64 64 79 20 53 65 63 75 72  .*Go Daddy Secur

V (74920) mbedtls: ssl_tls.c:4233 00d0:  65 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75  e Certificate Au

V (74930) mbedtls: ssl_tls.c:4233 00e0:  74 68 6f 72 69 74 79 20 2d 20 47 32 30 1e 17 0d  thority - G20...

V (74940) mbedtls: ssl_tls.c:4233 00f0:  32 30 30 38 32 33 31 35 33 36 33 32 5a 17 0d 32  200823153632Z..2

V (74950) mbedtls: ssl_tls.c:4233 0100:  31 30 38 32 39 31 36 34 32 31 37 5a 30 3c 31 21  10829164217Z0<1!

V (74960) mbedtls: ssl_tls.c:4233 0110:  30 1f 06 03 55 04 0b 13 18 44 6f 6d 61 69 6e 20  0...U....Domain

V (74970) mbedtls: ssl_tls.c:4233 0120:  43 6f 6e 74 72 6f 6c 20 56 61 6c 69 64 61 74 65  Control Validate

V (74980) mbedtls: ssl_tls.c:4233 0130:  64 31 17 30 15 06 03 55 04 03 13 0e 6a 64 69 66  d1.0...U....jdif

V (74990) mbedtls: ssl_tls.c:4233 0140:  6c 6f 77 62 6f 74 2e 63 6f 6d 30 82 01 22 30 0d  lowbot.com0.."0.

V (75000) mbedtls: ssl_tls.c:4233 0150:  06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 82 01  ..*.H...........

V (75010) mbedtls: ssl_tls.c:4233 0160:  0f 00 30 82 01 0a 02 82 01 01 00 e1 01 4e 31 c4  ..0..........N1.

V (75020) mbedtls: ssl_tls.c:4233 0170:  6e 6f 75 89 d5 d1 e7 2a 48 14 4a 06 56 f6 fe 8d  nou....*H.J.V...

V (75030) mbedtls: ssl_tls.c:4233 0180:  fe 99 1a 16 86 e0 35 fe 30 cf 51 ce 5a 9b ed 83  ......5.0.Q.Z...

V (75040) mbedtls: ssl_tls.c:4233 0190:  aa 85 99 17 3b bf a7 e6 66 50 1d 3f 62 78 39 36  ....;...fP.?bx96

V (75050) mbedtls: ssl_tls.c:4233 01a0:  33 71 3e 81 4c 12 7e da 70 ec 03 38 57 8c eb e7  3q>.L.~.p..8W...

V (75060) mbedtls: ssl_tls.c:4233 01b0:  3e be 02 72 52 d7 01 52 56 33 19 11 c0 4f 5b 74  >..rR..RV3...O[t

V (75070) mbedtls: ssl_tls.c:4233 01c0:  6f bf b9 e8 a4 5a 6a 98 e2 f1 f5 cd c6 71 ba 4b  o....Zj......q.K

V (75080) mbedtls: ssl_tls.c:4233 01d0:  dd 81 0f a2 61 aa 16 e5 2a fa 69 c2 2c a5 35 81  ....a...*.i.,.5.

V (75090) mbedtls: ssl_tls.c:4233 01e0:  85 13 e9 c7 d3 c0 e8 65 7a 80 97 ad ec b2 25 63  .......ez.....%c

V (75100) mbedtls: ssl_tls.c:4233 01f0:  0d 65 ff 78 0d b9 6a 31 ce 68 54 eb 5d 91 de 46  .e.x..j1.hT.]..F

V (75110) mbedtls: ssl_tls.c:4233 0200:  9d cd 99 8d 89 93 e4 e2 90 14 fc 00 6c 07 72 d9  ............l.r.

V (75120) mbedtls: ssl_tls.c:4233 0210:  be 1b 64 24 4b 4a ed 9e 7d 51 02 7d b5 ac d9 80  ..d$KJ..}Q.}....

V (75130) mbedtls: ssl_tls.c:4233 0220:  1d 6d 2d 60 4e 1f ba 5d a4 ca 5c 43 bc b0 0c e7  .m-`N..]..\C....

V (75140) mbedtls: ssl_tls.c:4233 0230:  7d 4f 99 af 7f f7 27 80 12 f9 d5 96 71 af 48 ac  }O....'.....q.H.

V (75150) mbedtls: ssl_tls.c:4233 0240:  1d e9 a8 e1 5b 87 96 ae 44 a9 1a 57 01 59 8f cb  ....[...D..W.Y..

V (75160) mbedtls: ssl_tls.c:4233 0250:  a5 b7 d3 29 1b b1 2c 8a fc 37 ef 0c 24 e9 8f dd  ...)..,..7..$...

V (75170) mbedtls: ssl_tls.c:4233 0260:  ce 1c 96 4a 1e 9e 7b f8 9d 03 0b 02 03 01 00 01  ...J..{.........

V (75180) mbedtls: ssl_tls.c:4233 0270:  a3 82 02 c9 30 82 02 c5 30 0c 06 03 55 1d 13 01  ....0...0...U...

V (75190) mbedtls: ssl_tls.c:4233 0280:  01 ff 04 02 30 00 30 1d 06 03 55 1d 25 04 16 30  ....0.0...U.%..0

V (75200) mbedtls: ssl_tls.c:4233 0290:  14 06 08 2b 06 01 05 05 07 03 01 06 08 2b 06 01  ...+.........+..

V (75210) mbedtls: ssl_tls.c:4233 02a0:  05 05 07 03 02 30 0e 06 03 55 1d 0f 01 01 ff 04  .....0...U......

V (75220) mbedtls: ssl_tls.c:4233 02b0:  04 03 02 05 a0 30 38 06 03 55 1d 1f 04 31 30 2f  .....08..U...10/

V (75230) mbedtls: ssl_tls.c:4233 02c0:  30 2d a0 2b a0 29 86 27 68 74 74 70 3a 2f 2f 63  0-.+.).'http://c

V (75240) mbedtls: ssl_tls.c:4233 02d0:  72 6c 2e 67 6f 64 61 64 64 79 2e 63 6f 6d 2f 67  rl.godaddy.com/g

V (75250) mbedtls: ssl_tls.c:4233 02e0:  64 69 67 32 73 31 2d 32 32 33 38 2e 63 72 6c 30  dig2s1-2238.crl0

V (75260) mbedtls: ssl_tls.c:4233 02f0:  5d 06 03 55 1d 20 04 56 30 54 30 48 06 0b 60 86  ]..U. .V0T0H..`.

V (75270) mbedtls: ssl_tls.c:4233 0300:  48 01 86 fd 6d 01 07 17 01 30 39 30 37 06 08 2b  H...m....0907..+

V (75280) mbedtls: ssl_tls.c:4233 0310:  06 01 05 05 07 02 01 16 2b 68 74 74 70 3a 2f 2f  ........+http://

V (75290) mbedtls: ssl_tls.c:4233 0320:  63 65 72 74 69 66 69 63 61 74 65 73 2e 67 6f 64  certificates.god

V (75300) mbedtls: ssl_tls.c:4233 0330:  61 64 64 79 2e 63 6f 6d 2f 72 65 70 6f 73 69 74  addy.com/reposit

V (75310) mbedtls: ssl_tls.c:4233 0340:  6f 72 79 2f 30 08 06 06 67 81 0c 01 02 01 30 76  ory/0...g.....0v

V (75320) mbedtls: ssl_tls.c:4233 0350:  06 08 2b 06 01 05 05 07 01 01 04 6a 30 68 30 24  ..+........j0h0$

V (75330) mbedtls: ssl_tls.c:4233 0360:  06 08 2b 06 01 05 05 07 30 01 86 18 68 74 74 70  ..+.....0...http

V (75340) mbedtls: ssl_tls.c:4233 0370:  3a 2f 2f 6f 63 73 70 2e 67 6f 64 61 64 64 79 2e  ://ocsp.godaddy.

V (75350) mbedtls: ssl_tls.c:4233 0380:  63 6f 6d 2f 30 40 06 08 2b 06 01 05 05 07 30 02  com/0@..+.....0.

V (75360) mbedtls: ssl_tls.c:4233 0390:  86 34 68 74 74 70 3a 2f 2f 63 65 72 74 69 66 69  .4http://certifi

V (75370) mbedtls: ssl_tls.c:4233 03a0:  63 61 74 65 73 2e 67 6f 64 61 64 64 79 2e 63 6f  cates.godaddy.co

V (75380) mbedtls: ssl_tls.c:4233 03b0:  6d 2f 72 65 70 6f 73 69 74 6f 72 79 2f 67 64 69  m/repository/gdi

V (75390) mbedtls: ssl_tls.c:4233 03c0:  67 32 2e 63 72 74 30 1f 06 03 55 1d 23 04 18 30  g2.crt0...U.#..0

V (75400) mbedtls: ssl_tls.c:4233 03d0:  16 80 14 40 c2 bd 27 8e cc 34 83 30 a2 33 d7 fb  ...@..'..4.0.3..

V (75410) mbedtls: ssl_tls.c:4233 03e0:  6c b3 f0 b4 2c 80 ce 30 2d 06 03 55 1d 11 04 26  l...,..0-..U...&

V (75420) mbedtls: ssl_tls.c:4233 03f0:  30 24 82 0e 6a 64 69 66 6c 6f 77 62 6f 74 2e 63  0$..jdiflowbot.c

V (75430) mbedtls: ssl_tls.c:4233 0400:  6f 6d 82 12 77 77 77 2e 6a 64 69 66 6c 6f 77 62  om..www.jdiflowb

V (75440) mbedtls: ssl_tls.c:4233 0410:  6f 74 2e 63 6f 6d 30 1d 06 03 55 1d 0e 04 16 04  ot.com0...U.....

V (75450) mbedtls: ssl_tls.c:4233 0420:  14 9e ba 90 89 7d 79 06 2f b3 eb 6c 41 c6 15 dc  .....}y./..lA...

V (75460) mbedtls: ssl_tls.c:4233 0430:  c8 78 28 19 db 30 82 01 04 06 0a 2b 06 01 04 01  .x(..0.....+....

V (75470) mbedtls: ssl_tls.c:4233 0440:  d6 79 02 04 02 04 81 f5 04 81 f2 00 f0 00 76 00  .y............v.

V (75480) mbedtls: ssl_tls.c:4233 0450:  f6 5c 94 2f d1 77 30 22 14 54 18 08 30 94 56 8e  .\./.w0".T..0.V.

V (75490) mbedtls: ssl_tls.c:4233 0460:  e3 4d 13 19 33 bf df 0c 2f 20 0b cc 4e f1 64 e3  .M..3.../ ..N.d.

V (75490) mbedtls: ssl_tls.c:4233 0470:  00 00 01 74 1b f6 d9 e9 00 00 04 03 00 47 30 45  ...t.........G0E

V (75500) mbedtls: ssl_tls.c:4233 0480:  02 21 00 eb 58 14 7f c3 ad d1 b8 b0 7b 23 31 76  .!..X.......{#1v

V (75510) mbedtls: ssl_tls.c:4233 0490:  35 16 47 cf a1 82 e0 76 af c7 e4 9a 30 54 a0 f4  5.G....v....0T..

V (75520) mbedtls: ssl_tls.c:4233 04a0:  ec c3 05 02 20 7f 9d aa 2d e2 6e d1 52 27 3d 93  .... ...-.n.R'=.

V (75530) mbedtls: ssl_tls.c:4233 04b0:  a1 7a 17 2b cc 38 38 9a 62 56 fc a6 8f 5e 9d 8c  .z.+.88.bV...^..

V (75540) mbedtls: ssl_tls.c:4233 04c0:  f7 b4 ad 6a a6 00 76 00 5c dc 43 92 fe e6 ab 45  ...j..v.\.C....E

V (75550) mbedtls: ssl_tls.c:4233 04d0:  44 b1 5e 9a d4 56 e6 10 37 fb d5 fa 47 dc a1 73  D.^..V..7...G..s

V (75560) mbedtls: ssl_tls.c:4233 04e0:  94 b2 5e e6 f6 c7 0e ca 00 00 01 74 1b f6 db bd  ..^........t....

V (75570) mbedtls: ssl_tls.c:4233 04f0:  00 00 04 03 00 47 30 45 02 20 52 98 05 29 94 79  .....G0E. R..).y

V (75580) mbedtls: ssl_tls.c:4233 0500:  5e 4f bc 9c c7 2c 7c ba 9d 15 47 6d 41 09 76 d2  ^O...,|...GmA.v.

V (75590) mbedtls: ssl_tls.c:4233 0510:  5c 1b 5d bf f2 8c e8 8f 11 ea 02 21 00 bc 1a 60  \.]........!...`

V (75600) mbedtls: ssl_tls.c:4233 0520:  ff b1 09 55 23 d0 c1 1f 4a 28 3d d8 9a f7 2c 98  ...U#...J(=...,.

V (75610) mbedtls: ssl_tls.c:4233 0530:  10 50 81 1d c3 aa 96 56 c6 c4 da da 31 30 0d 06  .P.....V....10..

V (75620) mbedtls: ssl_tls.c:4233 0540:  09 2a 86 48 86 f7 0d 01 01 0b 05 00 03 82 01 01  .*.H............

V (75630) mbedtls: ssl_tls.c:4233 0550:  00 2c 4e 67 85 8f f7 ca 7f 48 c4 31 de e7 42 bc  .,Ng.....H.1..B.

V (75640) mbedtls: ssl_tls.c:4233 0560:  97 0b c8 2a 29 2d 77 70 da 8a db 28 70 3b 67 f4  ...*)-wp...(p;g.

V (75650) mbedtls: ssl_tls.c:4233 0570:  4d ee d6 01 43 9e da aa 54 44 88 f1 1b 27 6d 8b  M...C...TD...'m.

V (75660) mbedtls: ssl_tls.c:4233 0580:  3d 7f 13 f2 30 68 a3 77 c7 6f 28 19 6f 30 91 d6  =...0h.w.o(.o0..

V (75670) mbedtls: ssl_tls.c:4233 0590:  a0 b0 5c c7 fc f9 ef fe b0 29 3d b9 1f 0b 09 5d  ..\......)=....]

V (75680) mbedtls: ssl_tls.c:4233 05a0:  be 0e ef 5b 8b 42 40 cf f5 7c ef f6 c5 3c f7 9a  ...[.B@..|...<..

V (75690) mbedtls: ssl_tls.c:4233 05b0:  83 56 1e fd 6e a1 ea 84 59 ad b1 a0 6c 13 2d c6  .V..n...Y...l.-.

V (75700) mbedtls: ssl_tls.c:4233 05c0:  e4 91 63 2a 0b c5 75 6e c2 51 1e c8 9d d9 ba 73  ..c*..un.Q.....s

V (75710) mbedtls: ssl_tls.c:4233 05d0:  71 03 b9 25 53 74 99 49 64 89 63 7e b6 19 ec 77  q..%St.Id.c~...w

V (75720) mbedtls: ssl_tls.c:4233 05e0:  e6 94 37 57 23 cc 4c f2 64 66 e9 88 7e de d6 11  ..7W#.L.df..~...

V (75730) mbedtls: ssl_tls.c:4233 05f0:  7d 1a 80 b0 a6 10 50 a7 4d 0f 43 e5 de b6 8f ed  }.....P.M.C.....

V (75740) mbedtls: ssl_tls.c:4233 0600:  38 80 2f 15 f8 df c9 3f 9d 19 09 11 da e6 eb c8  8./....?........

V (75750) mbedtls: ssl_tls.c:4233 0610:  46 0e 12 c3 89 2c 94 cf 42 02 2d ec 19 1c e5 34  F....,..B.-....4

V (75760) mbedtls: ssl_tls.c:4233 0620:  b0 03 c8 e4 c3 5c b7 7f 27 2a 8a 21 91 18 8f 97  .....\..'*.!....

V (75770) mbedtls: ssl_tls.c:4233 0630:  28 55 55 df c1 8b 2b f1 12 d9 75 1a f5 a1 6d 8e  (UU...+...u...m.

V (75780) mbedtls: ssl_tls.c:4233 0640:  bf 2e 80 64 e7 28 b1 01 7f 0a eb f9 ce 89 28 4f  ...d.(........(O

V (75790) mbedtls: ssl_tls.c:4233 0650:  59 00 04 d4 30 82 04 d0 30 82 03 b8 a0 03 02 01  Y...0...0.......

V (75800) mbedtls: ssl_tls.c:4233 0660:  02 02 01 07 30 0d 06 09 2a 86 48 86 f7 0d 01 01  ....0...*.H.....

V (75810) mbedtls: ssl_tls.c:4233 0670:  0b 05 00 30 81 83 31 0b 30 09 06 03 55 04 06 13  ...0..1.0...U...

V (75820) mbedtls: ssl_tls.c:4233 0680:  02 55 53 31 10 30 0e 06 03 55 04 08 13 07 41 72  .US1.0...U....Ar

V (75830) mbedtls: ssl_tls.c:4233 0690:  69 7a 6f 6e 61 31 13 30 11 06 03 55 04 07 13 0a  izona1.0...U....

V (75840) mbedtls: ssl_tls.c:4233 06a0:  53 63 6f 74 74 73 64 61 6c 65 31 1a 30 18 06 03  Scottsdale1.0...

V (75850) mbedtls: ssl_tls.c:4233 06b0:  55 04 0a 13 11 47 6f 44 61 64 64 79 2e 63 6f 6d  U....GoDaddy.com

V (75860) mbedtls: ssl_tls.c:4233 06c0:  2c 20 49 6e 63 2e 31 31 30 2f 06 03 55 04 03 13  , Inc.110/..U...

V (75870) mbedtls: ssl_tls.c:4233 06d0:  28 47 6f 20 44 61 64 64 79 20 52 6f 6f 74 20 43  (Go Daddy Root C

V (75880) mbedtls: ssl_tls.c:4233 06e0:  65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f  ertificate Autho

V (75890) mbedtls: ssl_tls.c:4233 06f0:  72 69 74 79 20 2d 20 47 32 30 1e 17 0d 31 31 30  rity - G20...110

V (75900) mbedtls: ssl_tls.c:4233 0700:  35 30 33 30 37 30 30 30 30 5a 17 0d 33 31 30 35  503070000Z..3105

V (75910) mbedtls: ssl_tls.c:4233 0710:  30 33 30 37 30 30 30 30 5a 30 81 b4 31 0b 30 09  03070000Z0..1.0.

V (75920) mbedtls: ssl_tls.c:4233 0720:  06 03 55 04 06 13 02 55 53 31 10 30 0e 06 03 55  ..U....US1.0...U

V (75930) mbedtls: ssl_tls.c:4233 0730:  04 08 13 07 41 72 69 7a 6f 6e 61 31 13 30 11 06  ....Arizona1.0..

V (75940) mbedtls: ssl_tls.c:4233 0740:  03 55 04 07 13 0a 53 63 6f 74 74 73 64 61 6c 65  .U....Scottsdale

V (75950) mbedtls: ssl_tls.c:4233 0750:  31 1a 30 18 06 03 55 04 0a 13 11 47 6f 44 61 64  1.0...U....GoDad

V (75960) mbedtls: ssl_tls.c:4233 0760:  64 79 2e 63 6f 6d 2c 20 49 6e 63 2e 31 2d 30 2b  dy.com, Inc.1-0+

V (75970) mbedtls: ssl_tls.c:4233 0770:  06 03 55 04 0b 13 24 68 74 74 70 3a 2f 2f 63 65  ..U...$http://ce

V (75980) mbedtls: ssl_tls.c:4233 0780:  72 74 73 2e 67 6f 64 61 64 64 79 2e 63 6f 6d 2f  rts.godaddy.com/

V (75990) mbedtls: ssl_tls.c:4233 0790:  72 65 70 6f 73 69 74 6f 72 79 2f 31 33 30 31 06  repository/1301.

V (76000) mbedtls: ssl_tls.c:4233 07a0:  03 55 04 03 13 2a 47 6f 20 44 61 64 64 79 20 53  .U...*Go Daddy S

V (76010) mbedtls: ssl_tls.c:4233 07b0:  65 63 75 72 65 20 43 65 72 74 69 66 69 63 61 74  ecure Certificat

V (76020) mbedtls: ssl_tls.c:4233 07c0:  65 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32  e Authority - G2

V (76030) mbedtls: ssl_tls.c:4233 07d0:  30 82 01 22 30 0d 06 09 2a 86 48 86 f7 0d 01 01  0.."0...*.H.....

V (76040) mbedtls: ssl_tls.c:4233 07e0:  01 05 00 03 82 01 0f 00 30 82 01 0a 02 82 01 01  ........0.......

V (76050) mbedtls: ssl_tls.c:4233 07f0:  00 b9 e0 cb 10 d4 af 76 bd d4 93 62 eb 30 64 b8  .......v...b.0d.

V (76060) mbedtls: ssl_tls.c:4233 0800:  81 08 6c c3 04 d9 62 17 8e 2f ff 3e 65 cf 8f ce  ..l...b../.>e...

V (76070) mbedtls: ssl_tls.c:4233 0810:  62 e6 3c 52 1c da 16 45 4b 55 ab 78 6b 63 83 62  b.<R...EKU.xkc.b

V (76080) mbedtls: ssl_tls.c:4233 0820:  90 ce 0f 69 6c 99 c8 1a 14 8b 4c cc 45 33 ea 88  ...il.....L.E3..

V (76090) mbedtls: ssl_tls.c:4233 0830:  dc 9e a3 af 2b fe 80 61 9d 79 57 c4 cf 2e f4 3f  ....+..a.yW....?

V (76090) mbedtls: ssl_tls.c:4233 0840:  30 3c 5d 47 fc 9a 16 bc c3 37 96 41 51 8e 11 4b  0<]G.....7.AQ..K

V (76100) mbedtls: ssl_tls.c:4233 0850:  54 f8 28 be d0 8c be f0 30 38 1e f3 b0 26 f8 66  T.(.....08...&.f

V (76110) mbedtls: ssl_tls.c:4233 0860:  47 63 6d de 71 26 47 8f 38 47 53 d1 46 1d b4 e3  Gcm.q&G.8GS.F...

V (76120) mbedtls: ssl_tls.c:4233 0870:  dc 00 ea 45 ac bd bc 71 d9 aa 6f 00 db db cd 30  ...E...q..o....0

V (76130) mbedtls: ssl_tls.c:4233 0880:  3a 79 4f 5f 4c 47 f8 1d ef 5b c2 c4 9d 60 3b b1  :yO_LG...[...`;.

V (76140) mbedtls: ssl_tls.c:4233 0890:  b2 43 91 d8 a4 33 4e ea b3 d6 27 4f ad 25 8a a5  .C...3N...'O.%..

V (76150) mbedtls: ssl_tls.c:4233 08a0:  c6 f4 d5 d0 a6 ae 74 05 64 57 88 b5 44 55 d4 2d  ......t.dW..DU.-

V (76160) mbedtls: ssl_tls.c:4233 08b0:  2a 3a 3e f8 b8 bd e9 32 0a 02 94 64 c4 16 3a 50  *:>....2...d..:P

V (76170) mbedtls: ssl_tls.c:4233 08c0:  f1 4a ae e7 79 33 af 0c 20 07 7f e8 df 04 39 c2  .J..y3.. .....9.

V (76180) mbedtls: ssl_tls.c:4233 08d0:  69 02 6c 63 52 fa 77 c1 1b c8 74 87 c8 b9 93 18  i.lcR.w...t.....

V (76190) mbedtls: ssl_tls.c:4233 08e0:  50 54 35 4b 69 4e bc 3b d3 49 2e 1f dc c1 d2 52  PT5KiN.;.I.....R

V (76200) mbedtls: ssl_tls.c:4233 08f0:  fb 02 03 01 00 01 a3 82 01 1a 30 82 01 16 30 0f  ..........0...0.

V (76210) mbedtls: ssl_tls.c:4233 0900:  06 03 55 1d 13 01 01 ff 04 05 30 03 01 01 ff 30  ..U.......0....0

V (76220) mbedtls: ssl_tls.c:4233 0910:  0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 01 06 30  ...U...........0

V (76230) mbedtls: ssl_tls.c:4233 0920:  1d 06 03 55 1d 0e 04 16 04 14 40 c2 bd 27 8e cc  ...U......@..'..

V (76240) mbedtls: ssl_tls.c:4233 0930:  34 83 30 a2 33 d7 fb 6c b3 f0 b4 2c 80 ce 30 1f  4.0.3..l...,..0.

V (76250) mbedtls: ssl_tls.c:4233 0940:  06 03 55 1d 23 04 18 30 16 80 14 3a 9a 85 07 10  ..U.#..0...:....

V (76260) mbedtls: ssl_tls.c:4233 0950:  67 28 b6 ef f6 bd 05 41 6e 20 c1 94 da 0f de 30  g(.....An .....0

V (76270) mbedtls: ssl_tls.c:4233 0960:  34 06 08 2b 06 01 05 05 07 01 01 04 28 30 26 30  4..+........(0&0

V (76280) mbedtls: ssl_tls.c:4233 0970:  24 06 08 2b 06 01 05 05 07 30 01 86 18 68 74 74  $..+.....0...htt

V (76290) mbedtls: ssl_tls.c:4233 0980:  70 3a 2f 2f 6f 63 73 70 2e 67 6f 64 61 64 64 79  p://ocsp.godaddy

V (76300) mbedtls: ssl_tls.c:4233 0990:  2e 63 6f 6d 2f 30 35 06 03 55 1d 1f 04 2e 30 2c  .com/05..U....0,

V (76310) mbedtls: ssl_tls.c:4233 09a0:  30 2a a0 28 a0 26 86 24 68 74 74 70 3a 2f 2f 63  0*.(.&.$http://c

V (76320) mbedtls: ssl_tls.c:4233 09b0:  72 6c 2e 67 6f 64 61 64 64 79 2e 63 6f 6d 2f 67  rl.godaddy.com/g

V (76330) mbedtls: ssl_tls.c:4233 09c0:  64 72 6f 6f 74 2d 67 32 2e 63 72 6c 30 46 06 03  droot-g2.crl0F..

V (76340) mbedtls: ssl_tls.c:4233 09d0:  55 1d 20 04 3f 30 3d 30 3b 06 04 55 1d 20 00 30  U. .?0=0;..U. .0

V (76350) mbedtls: ssl_tls.c:4233 09e0:  33 30 31 06 08 2b 06 01 05 05 07 02 01 16 25 68  301..+........%h

V (76360) mbedtls: ssl_tls.c:4233 09f0:  74 74 70 73 3a 2f 2f 63 65 72 74 73 2e 67 6f 64  ttps://certs.god

V (76370) mbedtls: ssl_tls.c:4233 0a00:  61 64 64 79 2e 63 6f 6d 2f 72 65 70 6f 73 69 74  addy.com/reposit

V (76380) mbedtls: ssl_tls.c:4233 0a10:  6f 72 79 2f 30 0d 06 09 2a 86 48 86 f7 0d 01 01  ory/0...*.H.....

V (76390) mbedtls: ssl_tls.c:4233 0a20:  0b 05 00 03 82 01 01 00 08 7e 6c 93 10 c8 38 b8  .........~l...8.

V (76400) mbedtls: ssl_tls.c:4233 0a30:  96 a9 90 4b ff a1 5f 4f 04 ef 6c 3e 9c 88 06 c9  ...K.._O..l>....

V (76410) mbedtls: ssl_tls.c:4233 0a40:  50 8f a6 73 f7 57 31 1b be bc e4 2f db f8 ba d3  P..s.W1..../....

V (76420) mbedtls: ssl_tls.c:4233 0a50:  5b e0 b4 e7 e6 79 62 0e 0c a2 d7 6a 63 73 31 b5  [....yb....jcs1.

V (76430) mbedtls: ssl_tls.c:4233 0a60:  f5 a8 48 a4 3b 08 2d a2 5d 90 d7 b4 7c 25 4f 11  ..H.;.-.]...|%O.

V (76440) mbedtls: ssl_tls.c:4233 0a70:  56 30 c4 b6 44 9d 7b 2c 9d e5 5e e6 ef 0c 61 aa  V0..D.{,..^...a.

V (76450) mbedtls: ssl_tls.c:4233 0a80:  bf e4 2a 1b ee 84 9e b8 83 7d c1 43 ce 44 a7 13  ..*......}.C.D..

V (76460) mbedtls: ssl_tls.c:4233 0a90:  70 0d 91 1f f4 c8 13 ad 83 60 d9 d8 72 a8 73 24  p........`..r.s$

V (76470) mbedtls: ssl_tls.c:4233 0aa0:  1e b5 ac 22 0e ca 17 89 62 58 44 1b ab 89 25 01  ..."....bXD...%.

V (76480) mbedtls: ssl_tls.c:4233 0ab0:  00 0f cd c4 1b 62 db 51 b4 d3 0f 51 2a 9b f4 bc  .....b.Q...Q*...

V (76490) mbedtls: ssl_tls.c:4233 0ac0:  73 fc 76 ce 36 a4 cd d9 d8 2c ea ae 9b f5 2a b2  s.v.6....,....*.

V (76500) mbedtls: ssl_tls.c:4233 0ad0:  90 d1 4d 75 18 8a 3f 8a 41 90 23 7d 5b 4b fe a4  ..Mu..?.A.#}[K..

V (76510) mbedtls: ssl_tls.c:4233 0ae0:  03 58 9b 46 b2 c3 60 60 83 f8 7d 50 41 ce c2 a1  .X.F..``..}PA...

V (76520) mbedtls: ssl_tls.c:4233 0af0:  90 c3 bb ef 02 2f d2 15 54 ee 44 15 d9 0a ae a7  ...../..T.D.....

V (76530) mbedtls: ssl_tls.c:4233 0b00:  8a 33 ed b1 2d 76 36 26 dc 04 eb 9f f7 61 1f 15  .3..-v6&.....a..

V (76540) mbedtls: ssl_tls.c:4233 0b10:  dc 87 6f ee 46 96 28 ad a1 26 7d 0a 09 a7 2e 04  ..o.F.(..&}.....

V (76550) mbedtls: ssl_tls.c:4233 0b20:  a3 8d bc f8 bc 04 30 01 00 04 81 30 82 04 7d 30  ......0....0..}0

V (76560) mbedtls: ssl_tls.c:4233 0b30:  82 03 65 a0 03 02 01 02 02 03 1b e7 15 30 0d 06  ..e..........0..

V (76570) mbedtls: ssl_tls.c:4233 0b40:  09 2a 86 48 86 f7 0d 01 01 0b 05 00 30 63 31 0b  .*.H........0c1.

V (76580) mbedtls: ssl_tls.c:4233 0b50:  30 09 06 03 55 04 06 13 02 55 53 31 21 30 1f 06  0...U....US1!0..

V (76590) mbedtls: ssl_tls.c:4233 0b60:  03 55 04 0a 13 18 54 68 65 20 47 6f 20 44 61 64  .U....The Go Dad

V (76600) mbedtls: ssl_tls.c:4233 0b70:  64 79 20 47 72 6f 75 70 2c 20 49 6e 63 2e 31 31  dy Group, Inc.11

V (76610) mbedtls: ssl_tls.c:4233 0b80:  30 2f 06 03 55 04 0b 13 28 47 6f 20 44 61 64 64  0/..U...(Go Dadd

V (76620) mbedtls: ssl_tls.c:4233 0b90:  79 20 43 6c 61 73 73 20 32 20 43 65 72 74 69 66  y Class 2 Certif

V (76630) mbedtls: ssl_tls.c:4233 0ba0:  69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74  ication Authorit

V (76640) mbedtls: ssl_tls.c:4233 0bb0:  79 30 1e 17 0d 31 34 30 31 30 31 30 37 30 30 30  y0...14010107000

V (76650) mbedtls: ssl_tls.c:4233 0bc0:  30 5a 17 0d 33 31 30 35 33 30 30 37 30 30 30 30  0Z..310530070000

V (76660) mbedtls: ssl_tls.c:4233 0bd0:  5a 30 81 83 31 0b 30 09 06 03 55 04 06 13 02 55  Z0..1.0...U....U

V (76660) mbedtls: ssl_tls.c:4233 0be0:  53 31 10 30 0e 06 03 55 04 08 13 07 41 72 69 7a  S1.0...U....Ariz

V (76670) mbedtls: ssl_tls.c:4233 0bf0:  6f 6e 61 31 13 30 11 06 03 55 04 07 13 0a 53 63  ona1.0...U....Sc

V (76680) mbedtls: ssl_tls.c:4233 0c00:  6f 74 74 73 64 61 6c 65 31 1a 30 18 06 03 55 04  ottsdale1.0...U.

V (76690) mbedtls: ssl_tls.c:4233 0c10:  0a 13 11 47 6f 44 61 64 64 79 2e 63 6f 6d 2c 20  ...GoDaddy.com,

V (76700) mbedtls: ssl_tls.c:4233 0c20:  49 6e 63 2e 31 31 30 2f 06 03 55 04 03 13 28 47  Inc.110/..U...(G

V (76710) mbedtls: ssl_tls.c:4233 0c30:  6f 20 44 61 64 64 79 20 52 6f 6f 74 20 43 65 72  o Daddy Root Cer

V (76720) mbedtls: ssl_tls.c:4233 0c40:  74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69  tificate Authori

V (76730) mbedtls: ssl_tls.c:4233 0c50:  74 79 20 2d 20 47 32 30 82 01 22 30 0d 06 09 2a  ty - G20.."0...*

V (76740) mbedtls: ssl_tls.c:4233 0c60:  86 48 86 f7 0d 01 01 01 05 00 03 82 01 0f 00 30  .H.............0

V (76750) mbedtls: ssl_tls.c:4233 0c70:  82 01 0a 02 82 01 01 00 bf 71 62 08 f1 fa 59 34  .........qb...Y4

V (76760) mbedtls: ssl_tls.c:4233 0c80:  f7 1b c9 18 a3 f7 80 49 58 e9 22 83 13 a6 c5 20  .......IX."....

V (76770) mbedtls: ssl_tls.c:4233 0c90:  43 01 3b 84 f1 e6 85 49 9f 27 ea f6 84 1b 4e a0  C.;....I.'....N.

V (76780) mbedtls: ssl_tls.c:4233 0ca0:  b4 db 70 98 c7 32 01 b1 05 3e 07 4e ee f4 fa 4f  ..p..2...>.N...O

V (76790) mbedtls: ssl_tls.c:4233 0cb0:  2f 59 30 22 e7 ab 19 56 6b e2 80 07 fc f3 16 75  /Y0"...Vk......u

V (76800) mbedtls: ssl_tls.c:4233 0cc0:  80 39 51 7b e5 f9 35 b6 74 4e a9 8d 82 13 e4 b6  .9Q{..5.tN......

V (76810) mbedtls: ssl_tls.c:4233 0cd0:  3f a9 03 83 fa a2 be 8a 15 6a 7f de 0b c3 b6 19  ?........j......

V (76820) mbedtls: ssl_tls.c:4233 0ce0:  14 05 ca ea c3 a8 04 94 3b 46 7c 32 0d f3 00 66  ........;F|2...f

V (76830) mbedtls: ssl_tls.c:4233 0cf0:  22 c8 8d 69 6d 36 8c 11 18 b7 d3 b2 1c 60 b4 38  "..im6.......`.8

V (76840) mbedtls: ssl_tls.c:4233 0d00:  fa 02 8c ce d3 dd 46 07 de 0a 3e eb 5d 7c c8 7c  ......F...>.]|.|

V (76850) mbedtls: ssl_tls.c:4233 0d10:  fb b0 2b 53 a4 92 62 69 51 25 05 61 1a 44 81 8c  ..+S..biQ%.a.D..

V (76860) mbedtls: ssl_tls.c:4233 0d20:  2c a9 43 96 23 df ac 3a 81 9a 0e 29 c5 1c a9 e9  ,.C.#..:...)....

V (76870) mbedtls: ssl_tls.c:4233 0d30:  5d 1e b6 9e 9e 30 0a 39 ce f1 88 80 fb 4b 5d cc  ]....0.9.....K].

V (76880) mbedtls: ssl_tls.c:4233 0d40:  32 ec 85 62 43 25 34 02 56 27 01 91 b4 3b 70 2a  2..bC%4.V'...;p*

V (76890) mbedtls: ssl_tls.c:4233 0d50:  3f 6e b1 e8 9c 88 01 7d 9f d4 f9 db 53 6d 60 9d  ?n.....}....Sm`.

V (76900) mbedtls: ssl_tls.c:4233 0d60:  bf 2c e7 58 ab b8 5f 46 fc ce c4 1b 03 3c 09 eb  .,.X.._F.....<..

V (76910) mbedtls: ssl_tls.c:4233 0d70:  49 31 5c 69 46 b3 e0 47 02 03 01 00 01 a3 82 01  I1\iF..G........

V (76920) mbedtls: ssl_tls.c:4233 0d80:  17 30 82 01 13 30 0f 06 03 55 1d 13 01 01 ff 04  .0...0...U......

V (76930) mbedtls: ssl_tls.c:4233 0d90:  05 30 03 01 01 ff 30 0e 06 03 55 1d 0f 01 01 ff  .0....0...U.....

V (76940) mbedtls: ssl_tls.c:4233 0da0:  04 04 03 02 01 06 30 1d 06 03 55 1d 0e 04 16 04  ......0...U.....

V (76950) mbedtls: ssl_tls.c:4233 0db0:  14 3a 9a 85 07 10 67 28 b6 ef f6 bd 05 41 6e 20  .:....g(.....An

V (76960) mbedtls: ssl_tls.c:4233 0dc0:  c1 94 da 0f de 30 1f 06 03 55 1d 23 04 18 30 16  .....0...U.#..0.

V (76970) mbedtls: ssl_tls.c:4233 0dd0:  80 14 d2 c4 b0 d2 91 d4 4c 11 71 b3 61 cb 3d a1  ........L.q.a.=.

V (76980) mbedtls: ssl_tls.c:4233 0de0:  fe dd a8 6a d4 e3 30 34 06 08 2b 06 01 05 05 07  ...j..04..+.....

V (76990) mbedtls: ssl_tls.c:4233 0df0:  01 01 04 28 30 26 30 24 06 08 2b 06 01 05 05 07  ...(0&0$..+.....

V (77000) mbedtls: ssl_tls.c:4233 0e00:  30 01 86 18 68 74 74 70 3a 2f 2f 6f 63 73 70 2e  0...http://ocsp.

V (77010) mbedtls: ssl_tls.c:4233 0e10:  67 6f 64 61 64 64 79 2e 63 6f 6d 2f 30 32 06 03  godaddy.com/02..

V (77020) mbedtls: ssl_tls.c:4233 0e20:  55 1d 1f 04 2b 30 29 30 27 a0 25 a0 23 86 21 68  U...+0)0'.%.#.!h

V (77030) mbedtls: ssl_tls.c:4233 0e30:  74 74 70 3a 2f 2f 63 72 6c 2e 67 6f 64 61 64 64  ttp://crl.godadd

V (77040) mbedtls: ssl_tls.c:4233 0e40:  79 2e 63 6f 6d 2f 67 64 72 6f 6f 74 2e 63 72 6c  y.com/gdroot.crl

V (77050) mbedtls: ssl_tls.c:4233 0e50:  30 46 06 03 55 1d 20 04 3f 30 3d 30 3b 06 04 55  0F..U. .?0=0;..U

V (77060) mbedtls: ssl_tls.c:4233 0e60:  1d 20 00 30 33 30 31 06 08 2b 06 01 05 05 07 02  . .0301..+......

V (77070) mbedtls: ssl_tls.c:4233 0e70:  01 16 25 68 74 74 70 73 3a 2f 2f 63 65 72 74 73  ..%https://certs

V (77080) mbedtls: ssl_tls.c:4233 0e80:  2e 67 6f 64 61 64 64 79 2e 63 6f 6d 2f 72 65 70  .godaddy.com/rep

V (77090) mbedtls: ssl_tls.c:4233 0e90:  6f 73 69 74 6f 72 79 2f 30 0d 06 09 2a 86 48 86  ository/0...*.H.

V (77100) mbedtls: ssl_tls.c:4233 0ea0:  f7 0d 01 01 0b 05 00 03 82 01 01 00 59 0b 53 bd  ............Y.S.

V (77110) mbedtls: ssl_tls.c:4233 0eb0:  92 86 11 a7 24 7b ed 5b 31 cf 1d 1f 6c 70 c5 b8  ....${.[1...lp..

V (77120) mbedtls: ssl_tls.c:4233 0ec0:  6e be 4e bb f6 be 97 50 e1 30 7f ba 28 5c 62 94  n.N....P.0..(\b.

V (77130) mbedtls: ssl_tls.c:4233 0ed0:  c2 e3 7e 33 f7 fb 42 76 85 db 95 1c 8c 22 58 75  ..~3..Bv....."Xu

V (77140) mbedtls: ssl_tls.c:4233 0ee0:  09 0c 88 65 67 39 0a 16 09 c5 a0 38 97 a4 c5 23  ...eg9.....8...#

V (77150) mbedtls: ssl_tls.c:4233 0ef0:  93 3f b4 18 a6 01 06 44 91 e3 a7 69 27 b4 5a 25  .?.....D...i'.Z%

V (77160) mbedtls: ssl_tls.c:4233 0f00:  7f 3a b7 32 cd dd 84 ff 2a 38 29 33 a4 dd 67 b2  .:.2....*8)3..g.

V (77170) mbedtls: ssl_tls.c:4233 0f10:  85 fe a1 88 20 1c 50 89 c8 dc 2a f6 42 03 37 4c  .... .P...*.B.7L

V (77180) mbedtls: ssl_tls.c:4233 0f20:  e6 88 df d5 af 24 f2 b1 c3 df cc b5 ec e0 99 5e  .....$.........^

V (77190) mbedtls: ssl_tls.c:4233 0f30:  b7 49 54 20 3c 94 18 0c c7 1c 52 18 49 a4 6d e1  .IT <.....R.I.m.

V (77200) mbedtls: ssl_tls.c:4233 0f40:  b3 58 0b c9 d8 ec d9 ae 1c 32 8e 28 70 0d e2 fe  .X.......2.(p...

V (77210) mbedtls: ssl_tls.c:4233 0f50:  a6 17 9e 84 0f bd 57 70 b3 5a e9 1f a0 86 53 bb  ......Wp.Z....S.

V (77220) mbedtls: ssl_tls.c:4233 0f60:  ef 7c ff 69 0b e0 48 c3 b7 93 0b c8 0a 54 c4 ac  .|.i..H......T..

V (77230) mbedtls: ssl_tls.c:4233 0f70:  5d 14 67 37 6c ca a5 2f 31 08 37 aa 6e 6f 8c bc  ].g7l../1.7.no..

V (77240) mbedtls: ssl_tls.c:4233 0f80:  9b e2 57 5d 24 81 af 97 97 9c 84 ad 6c ac 37 4c  ..W]$.......l.7L

V (77250) mbedtls: ssl_tls.c:4233 0f90:  66 f3 61 91 11 20 e4 be 30 9f 7a a4 29 09 b0 e1  f.a.. ..0.z.)...

V (77250) mbedtls: ssl_tls.c:4233 0fa0:  34 5f 64 77 18 40 51 df 8c 30 a6 af              [email protected]..

D (77260) mbedtls: ssl_tls.c:3626 handshake message: msglen = 4007, type = 11, hslen = 4007

I (77270) mbedtls: ssl_tls.c:4385 <= read record

D (77280) mbedtls: ssl_tls.c:5606 peer certificate #1:

D (77290) mbedtls: ssl_tls.c:5606 cert. version     : 3

D (77290) mbedtls: ssl_tls.c:5606 serial number     : 53:74:66:42:38:BE:42:AB

D (77300) mbedtls: ssl_tls.c:5606 issuer name       : C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2

D (77310) mbedtls: ssl_tls.c:5606 subject name      : OU=Domain Control Validated, CN=jdiflowbot.com

D (77320) mbedtls: ssl_tls.c:5606 issued  on        : 2020-08-23 15:36:32

D (77330) mbedtls: ssl_tls.c:5606 expires on        : 2021-08-29 16:42:17

D (77340) mbedtls: ssl_tls.c:5606 signed using      : RSA with SHA-256

D (77340) mbedtls: ssl_tls.c:5606 RSA key size      : 2048 bits

D (77350) mbedtls: ssl_tls.c:5606 basic constraints : CA=false

D (77360) mbedtls: ssl_tls.c:5606 subject alt name  : jdiflowbot.com, www.jdiflowbot.com

D (77360) mbedtls: ssl_tls.c:5606 key usage         : Digital Signature, Key Encipherment

D (77370) mbedtls: ssl_tls.c:5606 ext key usage     : TLS Web Server Authentication, TLS Web Client Authentication

D (77380) mbedtls: ssl_tls.c:5606 value of 'crt->rsa.N' (2048 bits) is:

D (77390) mbedtls: ssl_tls.c:5606  e1 01 4e 31 c4 6e 6f 75 89 d5 d1 e7 2a 48 14 4a

D (77400) mbedtls: ssl_tls.c:5606  06 56 f6 fe 8d fe 99 1a 16 86 e0 35 fe 30 cf 51

D (77410) mbedtls: ssl_tls.c:5606  ce 5a 9b ed 83 aa 85 99 17 3b bf a7 e6 66 50 1d

D (77410) mbedtls: ssl_tls.c:5606  3f 62 78 39 36 33 71 3e 81 4c 12 7e da 70 ec 03

D (77420) mbedtls: ssl_tls.c:5606  38 57 8c eb e7 3e be 02 72 52 d7 01 52 56 33 19

D (77430) mbedtls: ssl_tls.c:5606  11 c0 4f 5b 74 6f bf b9 e8 a4 5a 6a 98 e2 f1 f5

D (77440) mbedtls: ssl_tls.c:5606  cd c6 71 ba 4b dd 81 0f a2 61 aa 16 e5 2a fa 69

D (77440) mbedtls: ssl_tls.c:5606  c2 2c a5 35 81 85 13 e9 c7 d3 c0 e8 65 7a 80 97

D (77450) mbedtls: ssl_tls.c:5606  ad ec b2 25 63 0d 65 ff 78 0d b9 6a 31 ce 68 54

D (77460) mbedtls: ssl_tls.c:5606  eb 5d 91 de 46 9d cd 99 8d 89 93 e4 e2 90 14 fc

D (77470) mbedtls: ssl_tls.c:5606  00 6c 07 72 d9 be 1b 64 24 4b 4a ed 9e 7d 51 02

D (77480) mbedtls: ssl_tls.c:5606  7d b5 ac d9 80 1d 6d 2d 60 4e 1f ba 5d a4 ca 5c

D (77480) mbedtls: ssl_tls.c:5606  43 bc b0 0c e7 7d 4f 99 af 7f f7 27 80 12 f9 d5

D (77490) mbedtls: ssl_tls.c:5606  96 71 af 48 ac 1d e9 a8 e1 5b 87 96 ae 44 a9 1a

D (77500) mbedtls: ssl_tls.c:5606  57 01 59 8f cb a5 b7 d3 29 1b b1 2c 8a fc 37 ef

D (77510) mbedtls: ssl_tls.c:5606  0c 24 e9 8f dd ce 1c 96 4a 1e 9e 7b f8 9d 03 0b

D (77510) mbedtls: ssl_tls.c:5606 value of 'crt->rsa.E' (17 bits) is:

D (77520) mbedtls: ssl_tls.c:5606  01 00 01

D (77530) mbedtls: ssl_tls.c:5606 peer certificate #2:

D (77530) mbedtls: ssl_tls.c:5606 cert. version     : 3

D (77540) mbedtls: ssl_tls.c:5606 serial number     : 07

D (77540) mbedtls: ssl_tls.c:5606 issuer name       : C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2

D (77550) mbedtls: ssl_tls.c:5606 subject name      : C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2

D (77570) mbedtls: ssl_tls.c:5606 issued  on        : 2011-05-03 07:00:00

D (77580) mbedtls: ssl_tls.c:5606 expires on        : 2031-05-03 07:00:00

D (77590) mbedtls: ssl_tls.c:5606 signed using      : RSA with SHA-256

D (77590) mbedtls: ssl_tls.c:5606 RSA key size      : 2048 bits

D (77600) mbedtls: ssl_tls.c:5606 basic constraints : CA=true

D (77600) mbedtls: ssl_tls.c:5606 key usage         : Key Cert Sign, CRL Sign

D (77610) mbedtls: ssl_tls.c:5606 value of 'crt->rsa.N' (2048 bits) is:

D (77620) mbedtls: ssl_tls.c:5606  b9 e0 cb 10 d4 af 76 bd d4 93 62 eb 30 64 b8 81

D (77630) mbedtls: ssl_tls.c:5606  08 6c c3 04 d9 62 17 8e 2f ff 3e 65 cf 8f ce 62

D (77640) mbedtls: ssl_tls.c:5606  e6 3c 52 1c da 16 45 4b 55 ab 78 6b 63 83 62 90

D (77640) mbedtls: ssl_tls.c:5606  ce 0f 69 6c 99 c8 1a 14 8b 4c cc 45 33 ea 88 dc

D (77650) mbedtls: ssl_tls.c:5606  9e a3 af 2b fe 80 61 9d 79 57 c4 cf 2e f4 3f 30

D (77660) mbedtls: ssl_tls.c:5606  3c 5d 47 fc 9a 16 bc c3 37 96 41 51 8e 11 4b 54

D (77670) mbedtls: ssl_tls.c:5606  f8 28 be d0 8c be f0 30 38 1e f3 b0 26 f8 66 47

D (77670) mbedtls: ssl_tls.c:5606  63 6d de 71 26 47 8f 38 47 53 d1 46 1d b4 e3 dc

D (77680) mbedtls: ssl_tls.c:5606  00 ea 45 ac bd bc 71 d9 aa 6f 00 db db cd 30 3a

D (77690) mbedtls: ssl_tls.c:5606  79 4f 5f 4c 47 f8 1d ef 5b c2 c4 9d 60 3b b1 b2

D (77700) mbedtls: ssl_tls.c:5606  43 91 d8 a4 33 4e ea b3 d6 27 4f ad 25 8a a5 c6

D (77710) mbedtls: ssl_tls.c:5606  f4 d5 d0 a6 ae 74 05 64 57 88 b5 44 55 d4 2d 2a

D (77710) mbedtls: ssl_tls.c:5606  3a 3e f8 b8 bd e9 32 0a 02 94 64 c4 16 3a 50 f1

D (77720) mbedtls: ssl_tls.c:5606  4a ae e7 79 33 af 0c 20 07 7f e8 df 04 39 c2 69

D (77730) mbedtls: ssl_tls.c:5606  02 6c 63 52 fa 77 c1 1b c8 74 87 c8 b9 93 18 50

D (77740) mbedtls: ssl_tls.c:5606  54 35 4b 69 4e bc 3b d3 49 2e 1f dc c1 d2 52 fb

D (77740) mbedtls: ssl_tls.c:5606 value of 'crt->rsa.E' (17 bits) is:

D (77750) mbedtls: ssl_tls.c:5606  01 00 01

D (77750) mbedtls: ssl_tls.c:5606 peer certificate #3:

D (77760) mbedtls: ssl_tls.c:5606 cert. version     : 3

D (77770) mbedtls: ssl_tls.c:5606 serial number     : 1B:E7:15

D (77770) mbedtls: ssl_tls.c:5606 issuer name       : C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority

D (77780) mbedtls: ssl_tls.c:5606 subject name      : C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2

D (77800) mbedtls: ssl_tls.c:5606 issued  on        : 2014-01-01 07:00:00

D (77800) mbedtls: ssl_tls.c:5606 expires on        : 2031-05-30 07:00:00

D (77810) mbedtls: ssl_tls.c:5606 signed using      : RSA with SHA-256

D (77820) mbedtls: ssl_tls.c:5606 RSA key size      : 2048 bits

D (77820) mbedtls: ssl_tls.c:5606 basic constraints : CA=true

D (77830) mbedtls: ssl_tls.c:5606 key usage         : Key Cert Sign, CRL Sign

D (77840) mbedtls: ssl_tls.c:5606 value of 'crt->rsa.N' (2048 bits) is:

D (77840) mbedtls: ssl_tls.c:5606  bf 71 62 08 f1 fa 59 34 f7 1b c9 18 a3 f7 80 49

D (77850) mbedtls: ssl_tls.c:5606  58 e9 22 83 13 a6 c5 20 43 01 3b 84 f1 e6 85 49

D (77860) mbedtls: ssl_tls.c:5606  9f 27 ea f6 84 1b 4e a0 b4 db 70 98 c7 32 01 b1

D (77870) mbedtls: ssl_tls.c:5606  05 3e 07 4e ee f4 fa 4f 2f 59 30 22 e7 ab 19 56

D (77880) mbedtls: ssl_tls.c:5606  6b e2 80 07 fc f3 16 75 80 39 51 7b e5 f9 35 b6

D (77880) mbedtls: ssl_tls.c:5606  74 4e a9 8d 82 13 e4 b6 3f a9 03 83 fa a2 be 8a

D (77890) mbedtls: ssl_tls.c:5606  15 6a 7f de 0b c3 b6 19 14 05 ca ea c3 a8 04 94

D (77900) mbedtls: ssl_tls.c:5606  3b 46 7c 32 0d f3 00 66 22 c8 8d 69 6d 36 8c 11

D (77910) mbedtls: ssl_tls.c:5606  18 b7 d3 b2 1c 60 b4 38 fa 02 8c ce d3 dd 46 07

D (77910) mbedtls: ssl_tls.c:5606  de 0a 3e eb 5d 7c c8 7c fb b0 2b 53 a4 92 62 69

D (77920) mbedtls: ssl_tls.c:5606  51 25 05 61 1a 44 81 8c 2c a9 43 96 23 df ac 3a

D (77930) mbedtls: ssl_tls.c:5606  81 9a 0e 29 c5 1c a9 e9 5d 1e b6 9e 9e 30 0a 39

D (77940) mbedtls: ssl_tls.c:5606  ce f1 88 80 fb 4b 5d cc 32 ec 85 62 43 25 34 02

D (77950) mbedtls: ssl_tls.c:5606  56 27 01 91 b4 3b 70 2a 3f 6e b1 e8 9c 88 01 7d

D (77950) mbedtls: ssl_tls.c:5606  9f d4 f9 db 53 6d 60 9d bf 2c e7 58 ab b8 5f 46

D (77960) mbedtls: ssl_tls.c:5606  fc ce c4 1b 03 3c 09 eb 49 31 5c 69 46 b3 e0 47

D (77970) mbedtls: ssl_tls.c:5606 value of 'crt->rsa.E' (17 bits) is:

D (77970) mbedtls: ssl_tls.c:5606  01 00 01

I (77980) mbedtls: ssl_tls.c:5863 <= parse certificate

I (77980) mbedtls: ssl_cli.c:3510 client state: 4

I (77990) mbedtls: ssl_tls.c:2755 => flush output

I (78000) mbedtls: ssl_tls.c:2767 <= flush output

I (78000) mbedtls: ssl_cli.c:2336 => parse server key exchange

I (78010) mbedtls: ssl_tls.c:4311 => read record

I (78010) mbedtls: ssl_tls.c:2536 => fetch input

I (78020) mbedtls: ssl_tls.c:2697 in_left: 0, nb_want: 5

I (78030) mbedtls: ssl_tls.c:2721 in_left: 0, nb_want: 5

I (78030) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 5 (-0xfffffffb)

I (78040) mbedtls: ssl_tls.c:2742 <= fetch input

V (78050) mbedtls: ssl_tls.c:4047 dumping 'input record header' (5 bytes)

V (78050) mbedtls: ssl_tls.c:4047 0000:  16 03 03 01 4d                                   ....M

D (78060) mbedtls: ssl_tls.c:4056 input record: msgtype = 22, version = [3:3], msglen = 333

I (78070) mbedtls: ssl_tls.c:2536 => fetch input

I (78070) mbedtls: ssl_tls.c:2697 in_left: 5, nb_want: 338

I (78080) mbedtls: ssl_tls.c:2721 in_left: 5, nb_want: 338

I (78090) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 333 (-0xfffffeb3)

I (78100) mbedtls: ssl_tls.c:2742 <= fetch input

V (78100) mbedtls: ssl_tls.c:4233 dumping 'input record from network' (338 bytes)

V (78110) mbedtls: ssl_tls.c:4233 0000:  16 03 03 01 4d 0c 00 01 49 03 00 17 41 04 01 7b  ....M...I...A..{

V (78120) mbedtls: ssl_tls.c:4233 0010:  ad 4b 0e 13 8f 29 22 6a e1 37 05 f9 9f 6b e8 1e  .K...)"j.7...k..

V (78130) mbedtls: ssl_tls.c:4233 0020:  b5 03 f3 37 3a 8f 91 a9 d8 aa 92 04 ff 5b b3 c8  ...7:........[..

V (78140) mbedtls: ssl_tls.c:4233 0030:  61 7d a6 ba 71 ed f9 25 5f c6 6d 5a 8d 27 a1 7e  a}..q..%_.mZ.'.~

V (78150) mbedtls: ssl_tls.c:4233 0040:  ad e5 cf bf 18 c5 ac cf 29 68 e5 6a 0f 19 06 01  ........)h.j....

V (78160) mbedtls: ssl_tls.c:4233 0050:  01 00 c7 c1 ea 5c bc de 17 ae 25 c0 6a 1d e5 3b  .....\....%.j..;

V (78170) mbedtls: ssl_tls.c:4233 0060:  88 8c ad 18 ca 80 98 d6 5d 2f 92 b7 f2 55 76 ae  ........]/...Uv.

V (78180) mbedtls: ssl_tls.c:4233 0070:  5c 9b fe ff 31 8b 48 13 36 0e 71 9b ab a5 ef 07  \...1.H.6.q.....

V (78190) mbedtls: ssl_tls.c:4233 0080:  3d 5e b0 c6 89 30 c9 32 c5 50 61 de 0e 5a 88 68  =^...0.2.Pa..Z.h

V (78200) mbedtls: ssl_tls.c:4233 0090:  e8 4a 8a 95 cf 63 8c 40 d4 49 50 0e e6 52 85 83  [email protected]..

V (78210) mbedtls: ssl_tls.c:4233 00a0:  e4 47 d3 47 1e b4 99 99 9d 41 01 73 55 3c c8 e0  .G.G.....A.sU<..

V (78220) mbedtls: ssl_tls.c:4233 00b0:  92 79 b8 b5 33 6a 4f 0c 75 71 f1 56 ff f5 88 56  .y..3jO.uq.V...V

V (78230) mbedtls: ssl_tls.c:4233 00c0:  19 7a 4b 0c 43 fe 87 bd 4a ab aa 62 70 b1 b4 60  .zK.C...J..bp..`

V (78240) mbedtls: ssl_tls.c:4233 00d0:  51 7c 24 71 e8 ba 93 db c9 40 f3 bf 3d cb a6 85  Q|$q.....@..=...

V (78250) mbedtls: ssl_tls.c:4233 00e0:  3e f7 e2 f0 b7 9f 94 08 55 e9 08 8c 97 63 90 6d  >.......U....c.m

V (78260) mbedtls: ssl_tls.c:4233 00f0:  b3 6e 86 6b bf a6 3a aa 31 ef 67 7d 42 5d 1a 4e  .n.k..:.1.g}B].N

V (78270) mbedtls: ssl_tls.c:4233 0100:  7c f9 f1 b4 f5 92 f1 54 bd 4d d3 b8 d6 69 21 c3  |......T.M...i!.

V (78280) mbedtls: ssl_tls.c:4233 0110:  e5 1b a0 fb bc 53 cc c0 5b 9e 94 ed 6c e6 11 34  .....S..[...l..4

V (78290) mbedtls: ssl_tls.c:4233 0120:  95 3b 12 7d 90 e2 51 4b 8c 6e 91 ea 57 4c 10 31  .;.}..QK.n..WL.1

V (78300) mbedtls: ssl_tls.c:4233 0130:  f0 00 54 0d 9e 19 b4 82 cc 0a 0b 60 00 56 b1 81  ..T........`.V..

V (78310) mbedtls: ssl_tls.c:4233 0140:  13 82 26 51 28 cf 51 f6 5a ec f5 70 e7 da 89 f8  ..&Q(.Q.Z..p....

V (78320) mbedtls: ssl_tls.c:4233 0150:  12 7c                                            .|

D (78320) mbedtls: ssl_tls.c:3626 handshake message: msglen = 333, type = 12, hslen = 333

I (78330) mbedtls: ssl_tls.c:4385 <= read record

D (78340) mbedtls: ssl_cli.c:2424 dumping 'server key exchange' (329 bytes)

D (78350) mbedtls: ssl_cli.c:2424 0000:  03 00 17 41 04 01 7b ad 4b 0e 13 8f 29 22 6a e1  ...A..{.K...)"j.

D (78360) mbedtls: ssl_cli.c:2424 0010:  37 05 f9 9f 6b e8 1e b5 03 f3 37 3a 8f 91 a9 d8  7...k.....7:....

D (78370) mbedtls: ssl_cli.c:2424 0020:  aa 92 04 ff 5b b3 c8 61 7d a6 ba 71 ed f9 25 5f  ....[..a}..q..%_

D (78370) mbedtls: ssl_cli.c:2424 0030:  c6 6d 5a 8d 27 a1 7e ad e5 cf bf 18 c5 ac cf 29  .mZ.'.~........)

D (78380) mbedtls: ssl_cli.c:2424 0040:  68 e5 6a 0f 19 06 01 01 00 c7 c1 ea 5c bc de 17  h.j.........\...

D (78390) mbedtls: ssl_cli.c:2424 0050:  ae 25 c0 6a 1d e5 3b 88 8c ad 18 ca 80 98 d6 5d  .%.j..;........]

D (78400) mbedtls: ssl_cli.c:2424 0060:  2f 92 b7 f2 55 76 ae 5c 9b fe ff 31 8b 48 13 36  /...Uv.\...1.H.6

D (78410) mbedtls: ssl_cli.c:2424 0070:  0e 71 9b ab a5 ef 07 3d 5e b0 c6 89 30 c9 32 c5  .q.....=^...0.2.

D (78420) mbedtls: ssl_cli.c:2424 0080:  50 61 de 0e 5a 88 68 e8 4a 8a 95 cf 63 8c 40 d4  Pa..Z.h.J...c.@.

D (78430) mbedtls: ssl_cli.c:2424 0090:  49 50 0e e6 52 85 83 e4 47 d3 47 1e b4 99 99 9d  IP..R...G.G.....

D (78440) mbedtls: ssl_cli.c:2424 00a0:  41 01 73 55 3c c8 e0 92 79 b8 b5 33 6a 4f 0c 75  A.sU<...y..3jO.u

D (78450) mbedtls: ssl_cli.c:2424 00b0:  71 f1 56 ff f5 88 56 19 7a 4b 0c 43 fe 87 bd 4a  q.V...V.zK.C...J

D (78460) mbedtls: ssl_cli.c:2424 00c0:  ab aa 62 70 b1 b4 60 51 7c 24 71 e8 ba 93 db c9  ..bp..`Q|$q.....

D (78470) mbedtls: ssl_cli.c:2424 00d0:  40 f3 bf 3d cb a6 85 3e f7 e2 f0 b7 9f 94 08 55  @..=...>.......U

D (78480) mbedtls: ssl_cli.c:2424 00e0:  e9 08 8c 97 63 90 6d b3 6e 86 6b bf a6 3a aa 31  ....c.m.n.k..:.1

D (78490) mbedtls: ssl_cli.c:2424 00f0:  ef 67 7d 42 5d 1a 4e 7c f9 f1 b4 f5 92 f1 54 bd  .g}B].N|......T.

D (78500) mbedtls: ssl_cli.c:2424 0100:  4d d3 b8 d6 69 21 c3 e5 1b a0 fb bc 53 cc c0 5b  M...i!......S..[

D (78510) mbedtls: ssl_cli.c:2424 0110:  9e 94 ed 6c e6 11 34 95 3b 12 7d 90 e2 51 4b 8c  ...l..4.;.}..QK.

D (78520) mbedtls: ssl_cli.c:2424 0120:  6e 91 ea 57 4c 10 31 f0 00 54 0d 9e 19 b4 82 cc  n..WL.1..T......

D (78530) mbedtls: ssl_cli.c:2424 0130:  0a 0b 60 00 56 b1 81 13 82 26 51 28 cf 51 f6 5a  ..`.V....&Q(.Q.Z

D (78540) mbedtls: ssl_cli.c:2424 0140:  ec f5 70 e7 da 89 f8 12 7c                       ..p.....|

I (78550) mbedtls: ssl_cli.c:2044 ECDH curve: secp256r1

D (78560) mbedtls: ssl_cli.c:2055 value of 'ECDH: Qp(X)' (249 bits) is:

D (78560) mbedtls: ssl_cli.c:2055  01 7b ad 4b 0e 13 8f 29 22 6a e1 37 05 f9 9f 6b

D (78570) mbedtls: ssl_cli.c:2055  e8 1e b5 03 f3 37 3a 8f 91 a9 d8 aa 92 04 ff 5b

D (78580) mbedtls: ssl_cli.c:2055 value of 'ECDH: Qp(Y)' (256 bits) is:

D (78590) mbedtls: ssl_cli.c:2055  b3 c8 61 7d a6 ba 71 ed f9 25 5f c6 6d 5a 8d 27

D (78590) mbedtls: ssl_cli.c:2055  a1 7e ad e5 cf bf 18 c5 ac cf 29 68 e5 6a 0f 19

I (78600) mbedtls: ssl_cli.c:2278 Server used SignatureAlgorithm 1

I (78610) mbedtls: ssl_cli.c:2279 Server used HashAlgorithm 6

D (78620) mbedtls: ssl_cli.c:2580 dumping 'signature' (256 bytes)

D (78620) mbedtls: ssl_cli.c:2580 0000:  c7 c1 ea 5c bc de 17 ae 25 c0 6a 1d e5 3b 88 8c  ...\....%.j..;..

D (78630) mbedtls: ssl_cli.c:2580 0010:  ad 18 ca 80 98 d6 5d 2f 92 b7 f2 55 76 ae 5c 9b  ......]/...Uv.\.

D (78640) mbedtls: ssl_cli.c:2580 0020:  fe ff 31 8b 48 13 36 0e 71 9b ab a5 ef 07 3d 5e  ..1.H.6.q.....=^

D (78650) mbedtls: ssl_cli.c:2580 0030:  b0 c6 89 30 c9 32 c5 50 61 de 0e 5a 88 68 e8 4a  ...0.2.Pa..Z.h.J

D (78660) mbedtls: ssl_cli.c:2580 0040:  8a 95 cf 63 8c 40 d4 49 50 0e e6 52 85 83 e4 47  [email protected]

D (78670) mbedtls: ssl_cli.c:2580 0050:  d3 47 1e b4 99 99 9d 41 01 73 55 3c c8 e0 92 79  .G.....A.sU<...y

D (78680) mbedtls: ssl_cli.c:2580 0060:  b8 b5 33 6a 4f 0c 75 71 f1 56 ff f5 88 56 19 7a  ..3jO.uq.V...V.z

D (78690) mbedtls: ssl_cli.c:2580 0070:  4b 0c 43 fe 87 bd 4a ab aa 62 70 b1 b4 60 51 7c  K.C...J..bp..`Q|

D (78700) mbedtls: ssl_cli.c:2580 0080:  24 71 e8 ba 93 db c9 40 f3 bf 3d cb a6 85 3e f7  $q.....@..=...>.

D (78710) mbedtls: ssl_cli.c:2580 0090:  e2 f0 b7 9f 94 08 55 e9 08 8c 97 63 90 6d b3 6e  ......U....c.m.n

D (78720) mbedtls: ssl_cli.c:2580 00a0:  86 6b bf a6 3a aa 31 ef 67 7d 42 5d 1a 4e 7c f9  .k..:.1.g}B].N|.

D (78730) mbedtls: ssl_cli.c:2580 00b0:  f1 b4 f5 92 f1 54 bd 4d d3 b8 d6 69 21 c3 e5 1b  .....T.M...i!...

D (78740) mbedtls: ssl_cli.c:2580 00c0:  a0 fb bc 53 cc c0 5b 9e 94 ed 6c e6 11 34 95 3b  ...S..[...l..4.;

D (78750) mbedtls: ssl_cli.c:2580 00d0:  12 7d 90 e2 51 4b 8c 6e 91 ea 57 4c 10 31 f0 00  .}..QK.n..WL.1..

D (78760) mbedtls: ssl_cli.c:2580 00e0:  54 0d 9e 19 b4 82 cc 0a 0b 60 00 56 b1 81 13 82  T........`.V....

D (78770) mbedtls: ssl_cli.c:2580 00f0:  26 51 28 cf 51 f6 5a ec f5 70 e7 da 89 f8 12 7c  &Q(.Q.Z..p.....|

D (78780) mbedtls: ssl_cli.c:2616 dumping 'parameters hash' (64 bytes)

D (78790) mbedtls: ssl_cli.c:2616 0000:  e7 90 6f 6e 7e 5c d5 cd 33 26 be 39 fc fa 88 5b  ..on~\..3&.9...[

D (78800) mbedtls: ssl_cli.c:2616 0010:  30 ed e4 34 7c bf 65 03 4c f3 fe 91 bc bb b6 2e  0..4|.e.L.......

D (78810) mbedtls: ssl_cli.c:2616 0020:  68 d4 7c 4e ba fc 53 9f 67 19 24 e3 4f 61 db 8b  h.|N..S.g.$.Oa..

D (78820) mbedtls: ssl_cli.c:2616 0030:  88 63 85 98 4b 3b ce 21 04 bc 35 ae 2d bb 6c 1d  .c..K;.!..5.-.l.

I (78870) mbedtls: ssl_cli.c:2664 <= parse server key exchange

I (78870) mbedtls: ssl_cli.c:3510 client state: 5

I (78870) mbedtls: ssl_tls.c:2755 => flush output

I (78880) mbedtls: ssl_tls.c:2767 <= flush output

I (78880) mbedtls: ssl_cli.c:2697 => parse certificate request

I (78890) mbedtls: ssl_tls.c:4311 => read record

I (78900) mbedtls: ssl_tls.c:2536 => fetch input

I (78900) mbedtls: ssl_tls.c:2697 in_left: 0, nb_want: 5

I (78910) mbedtls: ssl_tls.c:2721 in_left: 0, nb_want: 5

I (78910) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 5 (-0xfffffffb)

I (78920) mbedtls: ssl_tls.c:2742 <= fetch input

V (78930) mbedtls: ssl_tls.c:4047 dumping 'input record header' (5 bytes)

V (78940) mbedtls: ssl_tls.c:4047 0000:  16 03 03 00 04                                   .....

D (789E (78940) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (78940) task_wdt:  - IDLE0 (CPU 0)
E (78940) task_wdt: Tasks currently running:
E (78940) task_wdt: CPU 0: wifi_manager
40) mbedtls: ssl_tls.c:4056 input record: msgtype = 22, version = [3:3], msglen = 4

I (78980) mbedtls: ssl_tls.c:2536 => fetch input

I (78980) mbedtls: ssl_tls.c:2697 in_left: 5, nb_want: 9

I (78990) mbedtls: ssl_tls.c:2721 in_left: 5, nb_want: 9

I (78990) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 4 (-0xfffffffc)

I (79000) mbedtls: ssl_tls.c:2742 <= fetch input

V (79010) mbedtls: ssl_tls.c:4233 dumping 'input record from network' (9 bytes)

V (79020) mbedtls: ssl_tls.c:4233 0000:  16 03 03 00 04 0e 00 00 00                       .........

D (79020) mbedtls: ssl_tls.c:3626 handshake message: msglen = 4, type = 14, hslen = 4

I (79030) mbedtls: ssl_tls.c:4385 <= read record

D (79040) mbedtls: ssl_cli.c:2724 got no certificate request

I (79040) mbedtls: ssl_cli.c:2846 <= parse certificate request

I (79050) mbedtls: ssl_cli.c:3510 client state: 6

I (79060) mbedtls: ssl_tls.c:2755 => flush output

I (79060) mbedtls: ssl_tls.c:2767 <= flush output

I (79070) mbedtls: ssl_cli.c:2856 => parse server hello done

I (79070) mbedtls: ssl_tls.c:4311 => read record

I (79080) mbedtls: ssl_tls.c:4381 reuse previously read message

I (79090) mbedtls: ssl_tls.c:4385 <= read record

I (79090) mbedtls: ssl_cli.c:2886 <= parse server hello done

I (79100) mbedtls: ssl_cli.c:3510 client state: 7

I (79100) mbedtls: ssl_tls.c:2755 => flush output

I (79110) mbedtls: ssl_tls.c:2767 <= flush output

I (79110) mbedtls: ssl_tls.c:5329 => write certificate

I (79120) mbedtls: ssl_tls.c:5346 <= skip write certificate

I (79130) mbedtls: ssl_cli.c:3510 client state: 8

I (79130) mbedtls: ssl_tls.c:2755 => flush output

I (79140) mbedtls: ssl_tls.c:2767 <= flush output

I (79140) mbedtls: ssl_cli.c:2898 => write client key exchange

D (79770) mbedtls: ssl_cli.c:2978 value of 'ECDH: Q(X)' (255 bits) is:

D (79770) mbedtls: ssl_cli.c:2978  4f 27 d4 1e b9 59 1e f6 cf a6 d3 5e 25 76 45 49

D (79770) mbedtls: ssl_cli.c:2978  c4 60 9c c2 a0 45 d5 31 48 1a de 40 08 32 2c a9

D (79780) mbedtls: ssl_cli.c:2978 value of 'ECDH: Q(Y)' (252 bits) is:

D (79790) mbedtls: ssl_cli.c:2978  0d 8f df 9f eb 3e 42 e3 4c 15 43 73 bd 32 e2 d1

D (79790) mbedtls: ssl_cli.c:2978  fa 1d 94 46 c7 09 45 e9 0f 73 25 54 e7 4f 16 1e

D (79950) httpd: httpd_server: processing socket 52
D (79970) httpd_sess: httpd_sess_process: httpd_req_new
D (79970) httpd_txrx: httpd_recv_with_opt: requested length = 128
D (79980) httpd_txrx: httpd_recv_with_opt: received length = 0
D (79980) httpd_parse: read_block: connection closed
D (79980) httpd: httpd_server: closing socket 52
D (80010) httpd_sess: httpd_sess_delete: fd = 52
D (80010) httpd: httpd_server: processing socket 55
D (80010) httpd_sess: httpd_sess_process: httpd_req_new
D (80010) httpd_txrx: httpd_recv_with_opt: requested length = 128
D (80040) httpd_txrx: httpd_recv_with_opt: received length = 0
D (80040) httpd_parse: read_block: connection closed
D (80040) httpd: httpd_server: closing socket 55
D (80040) httpd_sess: httpd_sess_delete: fd = 55
D (80040) httpd: httpd_server: doing select maxfd+1 = 50
D (80500) mbedtls: ssl_cli.c:3006 value of 'ECDH: z' (254 bits) is:

D (80500) mbedtls: ssl_cli.c:3006  32 6b 2c 9a 26 a2 ee 5b cc 5b b8 01 64 fc 3f 04

D (80500) mbedtls: ssl_cli.c:3006  63 18 33 5e 79 a1 55 d6 42 f6 7d f9 f8 6e 19 d0

I (80510) mbedtls: ssl_tls.c:3184 => write handshake message

I (80520) mbedtls: ssl_tls.c:3343 => write record

D (80520) mbedtls: ssl_tls.c:3423 output record: msgtype = 22, version = [3:3], msglen = 70

V (80530) mbedtls: ssl_tls.c:3426 dumping 'output record sent to network' (75 bytes)

V (80540) mbedtls: ssl_tls.c:3426 0000:  16 03 03 00 46 10 00 00 42 41 04 4f 27 d4 1e b9  ....F...BA.O'...

V (80550) mbedtls: ssl_tls.c:3426 0010:  59 1e f6 cf a6 d3 5e 25 76 45 49 c4 60 9c c2 a0  Y.....^%vEI.`...

V (80560) mbedtls: ssl_tls.c:3426 0020:  45 d5 31 48 1a de 40 08 32 2c a9 0d 8f df 9f eb  [email protected],......

V (80570) mbedtls: ssl_tls.c:3426 0030:  3e 42 e3 4c 15 43 73 bd 32 e2 d1 fa 1d 94 46 c7  >B.L.Cs.2.....F.

V (80580) mbedtls: ssl_tls.c:3426 0040:  09 45 e9 0f 73 25 54 e7 4f 16 1e                 .E..s%T.O..

I (80590) mbedtls: ssl_tls.c:2755 => flush output

I (80590) mbedtls: ssl_tls.c:2774 message length: 75, out_left: 75

I (80600) mbedtls: ssl_tls.c:2779 ssl->f_send() returned 75 (-0xffffffb5)

I (80610) mbedtls: ssl_tls.c:2807 <= flush output

I (80610) mbedtls: ssl_tls.c:3476 <= write record

I (80620) mbedtls: ssl_tls.c:3320 <= write handshake message

I (80620) mbedtls: ssl_cli.c:3172 <= write client key exchange

I (80630) mbedtls: ssl_cli.c:3510 client state: 9

I (80640) mbedtls: ssl_tls.c:2755 => flush output

I (80640) mbedtls: ssl_tls.c:2767 <= flush output

I (80650) mbedtls: ssl_cli.c:3224 => write certificate verify

I (80650) mbedtls: ssl_tls.c:628 => derive keys

D (80660) mbedtls: ssl_tls.c:706 dumping 'premaster secret' (32 bytes)

D (80670) mbedtls: ssl_tls.c:706 0000:  32 6b 2c 9a 26 a2 ee 5b cc 5b b8 01 64 fc 3f 04  2k,.&..[.[..d.?.

D (80680) mbedtls: ssl_tls.c:706 0010:  63 18 33 5e 79 a1 55 d6 42 f6 7d f9 f8 6e 19 d0  c.3^y.U.B.}..n..

D (80690) mbedtls: ssl_tls.c:795 ciphersuite = TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256

D (80700) mbedtls: ssl_tls.c:796 dumping 'master secret' (48 bytes)

D (80700) mbedtls: ssl_tls.c:796 0000:  43 ea 1a ec 92 5d a2 6b 8e 8c 07 77 8d 20 64 13  C....].k...w. d.

D (80720) mbedtls: ssl_tls.c:796 0010:  5d d9 6f e0 eb ce 43 a8 b1 ae eb 77 ba 3e af 55  ].o...C....w.>.U

D (80720) mbedtls: ssl_tls.c:796 0020:  28 19 99 1b a8 2a 34 7f 49 b2 1e 33 49 e4 49 6b  (....*4.I..3I.Ik

V (80730) mbedtls: ssl_tls.c:797 dumping 'random bytes' (64 bytes)

V (80740) mbedtls: ssl_tls.c:797 0000:  1c f8 af d2 69 2d 4c 2b be 0c 60 85 66 22 67 9d  ....i-L+..`.f"g.

V (80740) mbedtls: ssl_tls.c:797 0010:  97 67 b0 83 f3 cd 1a d7 65 1b 3a 2c 51 03 79 bc  .g......e.:,Q.y.

V (80750) mbedtls: ssl_tls.c:797 0020:  00 00 00 48 5e 50 1a 24 4b a6 44 97 e0 b2 dd 0c  ...H^P.$K.D.....

V (80760) mbedtls: ssl_tls.c:797 0030:  d4 b3 82 4f ac 70 1c 8a 3d 09 ad de 7c 6b a0 d6  ...O.p..=...|k..

V (80770) mbedtls: ssl_tls.c:798 dumping 'key block' (256 bytes)

V (80780) mbedtls: ssl_tls.c:798 0000:  e6 10 56 3e 85 75 36 1a 27 d2 bf 4c c5 87 2a c9  ..V>.u6.'..L..*.

V (80790) mbedtls: ssl_tls.c:798 0010:  e8 58 28 fa be b7 4a 44 00 b2 b5 00 72 05 74 f6  .X(...JD....r.t.

V (80800) mbedtls: ssl_tls.c:798 0020:  6c d3 07 97 90 57 69 98 48 22 3a 34 85 c8 54 df  l....Wi.H":4..T.

V (80810) mbedtls: ssl_tls.c:798 0030:  64 ce 48 9a de ab 23 0a f7 81 64 83 33 e7 ae d1  d.H...#...d.3...

V (80820) mbedtls: ssl_tls.c:798 0040:  79 e2 a0 61 c1 2c 67 19 33 86 c4 d9 9f 32 24 8d  y..a.,g.3....2$.

V (80830) mbedtls: ssl_tls.c:798 0050:  59 11 7d d7 38 b9 9a bc ba 9e 39 af 0e c9 94 b1  Y.}.8.....9.....

V (80840) mbedtls: ssl_tls.c:798 0060:  36 ae 1e 7b a3 79 46 c2 20 33 82 50 1a 38 65 05  6..{.yF. 3.P.8e.

V (80850) mbedtls: ssl_tls.c:798 0070:  56 f0 79 d3 50 bf 08 a6 fe da 7e 4e 41 0d 22 5a  V.y.P.....~NA."Z

V (80860) mbedtls: ssl_tls.c:798 0080:  b5 84 18 be 3c bf 0c 36 cb 24 23 ac eb 82 fd 51  ....<..6.$#....Q

V (80870) mbedtls: ssl_tls.c:798 0090:  27 d1 6e c9 f7 b8 5d 9f 33 68 5a 0e 00 10 6c cf  '.n...].3hZ...l.

V (80880) mbedtls: ssl_tls.c:798 00a0:  3e a3 ab 99 aa a8 a6 64 43 7b d8 60 62 52 b2 08  >......dC{.`bR..

V (80890) mbedtls: ssl_tls.c:798 00b0:  0b 19 86 5b b9 9c 6a c3 4b 41 46 5f e1 d4 4c b4  ...[..j.KAF_..L.

V (80900) mbedtls: ssl_tls.c:798 00c0:  2c 5f 85 7b 9f 59 a2 55 a7 11 04 84 33 65 e4 13  ,_.{.Y.U....3e..

V (80910) mbedtls: ssl_tls.c:798 00d0:  fd 25 c7 9c 0b e5 57 01 ab dd ec 22 8b 4e 12 53  .%....W....".N.S

V (80920) mbedtls: ssl_tls.c:798 00e0:  67 3c c7 c4 fa c2 7d 1f 42 ea c7 ff 19 1c 1b ae  g<....}.B.......

V (80930) mbedtls: ssl_tls.c:798 00f0:  17 f6 9d 8d d5 c7 81 85 36 dd de 70 8d 92 4d 29  ........6..p..M)

D (80940) mbedtls: ssl_tls.c:921 keylen: 16, minlen: 24, ivlen: 12, maclen: 0

I (80940) mbedtls: ssl_tls.c:1116 <= derive keys

I (80950) mbedtls: ssl_cli.c:3253 <= skip write certificate verify

I (80960) mbedtls: ssl_cli.c:3510 client state: 10

I (80960) mbedtls: ssl_tls.c:2755 => flush output

I (80970) mbedtls: ssl_tls.c:2767 <= flush output

I (80970) mbedtls: ssl_tls.c:5879 => write change cipher spec

I (80980) mbedtls: ssl_tls.c:3184 => write handshake message

I (80990) mbedtls: ssl_tls.c:3343 => write record

D (80990) mbedtls: ssl_tls.c:3423 output record: msgtype = 20, version = [3:3], msglen = 1

V (81000) mbedtls: ssl_tls.c:3426 dumping 'output record sent to network' (6 bytes)

V (81010) mbedtls: ssl_tls.c:3426 0000:  14 03 03 00 01 01                                ......

I (81020) mbedtls: ssl_tls.c:2755 => flush output

I (81020) mbedtls: ssl_tls.c:2774 message length: 6, out_left: 6

I (81030) mbedtls: ssl_tls.c:2779 ssl->f_send() returned 6 (-0xfffffffa)

I (81040) mbedtls: ssl_tls.c:2807 <= flush output

I (81040) mbedtls: ssl_tls.c:3476 <= write record

I (81050) mbedtls: ssl_tls.c:3320 <= write handshake message

I (81050) mbedtls: ssl_tls.c:5893 <= write change cipher spec

I (81060) mbedtls: ssl_cli.c:3510 client state: 11

I (81070) mbedtls: ssl_tls.c:2755 => flush output

I (81070) mbedtls: ssl_tls.c:2767 <= flush output

I (81080) mbedtls: ssl_tls.c:6398 => write finished

I (81080) mbedtls: ssl_tls.c:6223 => calc  finished tls sha256

D (81090) mbedtls: ssl_tls.c:6247 dumping 'calc finished result' (12 bytes)

D (81100) mbedtls: ssl_tls.c:6247 0000:  8f ae e8 2c be 8c 09 a7 f5 4c dc 5e              ...,.....L.^

I (81110) mbedtls: ssl_tls.c:6253 <= calc  finished

D (81110) mbedtls: ssl_tls.c:6443 switching to new transform spec for outbound data

I (81120) mbedtls: ssl_tls.c:3184 => write handshake message

I (81130) mbedtls: ssl_tls.c:3343 => write record

I (81130) mbedtls: ssl_tls.c:1445 => encrypt buf

V (81140) mbedtls: ssl_tls.c:1456 dumping 'before encrypt: output payload' (16 bytes)

V (81150) mbedtls: ssl_tls.c:1456 0000:  14 00 00 0c 8f ae e8 2c be 8c 09 a7 f5 4c dc 5e  .......,.....L.^

V (81150) mbedtls: ssl_tls.c:1574 dumping 'additional data for AEAD' (13 bytes)

V (81160) mbedtls: ssl_tls.c:1574 0000:  00 00 00 00 00 00 00 00 16 03 03 00 10           .............

V (81170) mbedtls: ssl_tls.c:1605 dumping 'IV used (internal)' (12 bytes)

V (81180) mbedtls: ssl_tls.c:1605 0000:  6c d3 07 97 00 00 00 00 00 00 00 00              l...........

V (81190) mbedtls: ssl_tls.c:1607 dumping 'IV used (transmitted)' (8 bytes)

V (81200) mbedtls: ssl_tls.c:1607 0000:  00 00 00 00 00 00 00 00                          ........

D (81210) mbedtls: ssl_tls.c:1618 before encrypt: msglen = 24, including 0 bytes of padding

V (81210) mbedtls: ssl_tls.c:1643 dumping 'after encrypt: tag' (16 bytes)

V (81220) mbedtls: ssl_tls.c:1643 0000:  8a e8 ee e9 8f f3 64 9b 70 1c 55 b5 29 e5 87 39  ......d.p.U.)..9

I (81230) mbedtls: ssl_tls.c:1781 <= encrypt buf

D (81240) mbedtls: ssl_tls.c:3423 output record: msgtype = 22, version = [3:3], msglen = 40

V (81240) mbedtls: ssl_tls.c:3426 dumping 'output record sent to network' (45 bytes)

V (81250) mbedtls: ssl_tls.c:3426 0000:  16 03 03 00 28 00 00 00 00 00 00 00 00 7a 9f 5a  ....(........z.Z

V (81260) mbedtls: ssl_tls.c:3426 0010:  9b db b6 81 ee 8d 8f 34 60 b2 cf c7 65 8a e8 ee  .......4`...e...

V (81270) mbedtls: ssl_tls.c:3426 0020:  e9 8f f3 64 9b 70 1c 55 b5 29 e5 87 39           ...d.p.U.)..9

I (81280) mbedtls: ssl_tls.c:2755 => flush output

I (81290) mbedtls: ssl_tls.c:2774 message length: 45, out_left: 45

I (81300) mbedtls: ssl_tls.c:2779 ssl->f_send() returned 45 (-0xffffffd3)

I (81300) mbedtls: ssl_tls.c:2807 <= flush output

I (81310) mbedtls: ssl_tls.c:3476 <= write record

I (81310) mbedtls: ssl_tls.c:3320 <= write handshake message

I (81320) mbedtls: ssl_tls.c:6507 <= write finished

I (81320) mbedtls: ssl_cli.c:3510 client state: 12

I (81330) mbedtls: ssl_tls.c:2755 => flush output

I (81340) mbedtls: ssl_tls.c:2767 <= flush output

I (81340) mbedtls: ssl_cli.c:3403 => parse new session ticket

I (81350) mbedtls: ssl_tls.c:4311 => read record

I (81350) mbedtls: ssl_tls.c:2536 => fetch input

I (81360) mbedtls: ssl_tls.c:2697 in_left: 0, nb_want: 5

I (81370) mbedtls: ssl_tls.c:2721 in_left: 0, nb_want: 5

I (81370) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 5 (-0xfffffffb)

I (81380) mbedtls: ssl_tls.c:2742 <= fetch input

V (81380) mbedtls: ssl_tls.c:4047 dumping 'input record header' (5 bytes)

V (81390) mbedtls: ssl_tls.c:4047 0000:  16 03 03 00 ca                                   .....

D (81400) mbedtls: ssl_tls.c:4056 input record: msgtype = 22, version = [3:3], msglen = 202

I (81410) mbedtls: ssl_tls.c:2536 => fetch input

I (81410) mbedtls: ssl_tls.c:2697 in_left: 5, nb_want: 207

I (81420) mbedtls: ssl_tls.c:2721 in_left: 5, nb_want: 207

I (81430) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 202 (-0xffffff36)

I (81440) mbedtls: ssl_tls.c:2742 <= fetch input

V (81440) mbedtls: ssl_tls.c:4233 dumping 'input record from network' (207 bytes)

V (81450) mbedtls: ssl_tls.c:4233 0000:  16 03 03 00 ca 04 00 00 c6 00 00 a8 c0 00 c0 2a  ...............*

V (81460) mbedtls: ssl_tls.c:4233 0010:  a2 5c ab 1c 99 05 3f 02 df 6b 3a c5 96 9b 36 6d  .\....?..k:...6m

V (81470) mbedtls: ssl_tls.c:4233 0020:  0a 34 de 84 db 0f 9d 40 03 82 f4 55 bb d7 78 6b  [email protected]

V (81480) mbedtls: ssl_tls.c:4233 0030:  1d 70 17 86 b0 0d 38 e7 2a d8 8a 81 59 e7 99 0b  .p....8.*...Y...

V (81490) mbedtls: ssl_tls.c:4233 0040:  48 e1 5d 2d 90 ef b9 12 08 95 97 1f fe ea fd 75  H.]-...........u

V (81500) mbedtls: ssl_tls.c:4233 0050:  2f 80 b5 fd a0 ba 93 2e 85 b5 d2 5f b2 c8 4c 0a  /.........._..L.

V (81510) mbedtls: ssl_tls.c:4233 0060:  08 23 ff 1e d9 0b d8 37 83 98 71 32 4c ce 67 b9  .#.....7..q2L.g.

V (81520) mbedtls: ssl_tls.c:4233 0070:  63 41 6a 8e 02 e9 dc 5e 49 a2 06 0d 1e 48 79 44  cAj....^I....HyD

V (81530) mbedtls: ssl_tls.c:4233 0080:  c6 a0 c3 9d d8 34 93 1a ec 54 19 0f 04 a4 3c 69  .....4...T....<i

V (81540) mbedtls: ssl_tls.c:4233 0090:  35 0d e4 0f ac 88 2c 2b 80 76 55 e3 cc 7b 3d 70  5.....,+.vU..{=p

V (81550) mbedtls: ssl_tls.c:4233 00a0:  18 e9 6e 36 fc a2 7b 3e 77 bc 2f 9b ea f6 30 db  ..n6..{>w./...0.

V (81560) mbedtls: ssl_tls.c:4233 00b0:  6b 74 06 f5 e2 59 25 62 d5 34 5d df 99 1e 72 21  kt...Y%b.4]...r!

V (81570) mbedtls: ssl_tls.c:4233 00c0:  a5 bf 17 0a e7 76 77 c2 24 d4 86 32 ec 00 c2     .....vw.$..2...

D (81580) mbedtls: ssl_tls.c:3626 handshake message: msglen = 202, type = 4, hslen = 202

I (81580) mbedtls: ssl_tls.c:4385 <= read record

D (81590) mbedtls: ssl_cli.c:3453 ticket length: 192

D (81600) mbedtls: ssl_cli.c:3491 ticket in use, discarding session id

I (81600) mbedtls: ssl_cli.c:3494 <= parse new session ticket

I (81610) mbedtls: ssl_cli.c:3510 client state: 12

I (81610) mbedtls: ssl_tls.c:2755 => flush output

I (81620) mbedtls: ssl_tls.c:2767 <= flush output

I (81630) mbedtls: ssl_tls.c:5902 => parse change cipher spec

I (81630) mbedtls: ssl_tls.c:4311 => read record

I (81640) mbedtls: ssl_tls.c:2536 => fetch input

I (81640) mbedtls: ssl_tls.c:2697 in_left: 0, nb_want: 5

I (81650) mbedtls: ssl_tls.c:2721 in_left: 0, nb_want: 5

I (81650) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 5 (-0xfffffffb)

I (81660) mbedtls: ssl_tls.c:2742 <= fetch input

V (81670) mbedtls: ssl_tls.c:4047 dumping 'input record header' (5 bytes)

V (81680) mbedtls: ssl_tls.c:4047 0000:  14 03 03 00 01                                   .....

D (81690) mbedtls: ssl_tls.c:4056 input record: msgtype = 20, version = [3:3], msglen = 1

I (81690) mbedtls: ssl_tls.c:2536 => fetch input

I (81700) mbedtls: ssl_tls.c:2697 in_left: 5, nb_want: 6

I (81700) mbedtls: ssl_tls.c:2721 in_left: 5, nb_want: 6

I (81710) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 1 (-0xffffffff)

I (81720) mbedtls: ssl_tls.c:2742 <= fetch input

V (81720) mbedtls: ssl_tls.c:4233 dumping 'input record from network' (6 bytes)

V (81730) mbedtls: ssl_tls.c:4233 0000:  14 03 03 00 01 01                                ......

I (81740) mbedtls: ssl_tls.c:4385 <= read record

D (81750) mbedtls: ssl_tls.c:5925 switching to new transform spec for inbound data

I (81750) mbedtls: ssl_tls.c:5966 <= parse change cipher spec

I (81760) mbedtls: ssl_cli.c:3510 client state: 13

I (81770) mbedtls: ssl_tls.c:2755 => flush output

I (81770) mbedtls: ssl_tls.c:2767 <= flush output

I (81780) mbedtls: ssl_tls.c:6524 => parse finished

I (81780) mbedtls: ssl_tls.c:6223 => calc  finished tls sha256

D (81790) mbedtls: ssl_tls.c:6247 dumping 'calc finished result' (12 bytes)

D (81800) mbedtls: ssl_tls.c:6247 0000:  a8 39 cf 3f aa 14 82 4c 96 94 19 08              .9.?...L....

I (81810) mbedtls: ssl_tls.c:6253 <= calc  finished

I (81810) mbedtls: ssl_tls.c:4311 => read record

I (81820) mbedtls: ssl_tls.c:2536 => fetch input

I (81820) mbedtls: ssl_tls.c:2697 in_left: 0, nb_want: 5

I (81830) mbedtls: ssl_tls.c:2721 in_left: 0, nb_want: 5

I (81840) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 5 (-0xfffffffb)

I (81840) mbedtls: ssl_tls.c:2742 <= fetch input

V (81850) mbedtls: ssl_tls.c:4047 dumping 'input record header' (5 bytes)

V (81860) mbedtls: ssl_tls.c:4047 0000:  16 03 03 00 28                                   ....(

D (81860) mbedtls: ssl_tls.c:4056 input record: msgtype = 22, version = [3:3], msglen = 40

I (81870) mbedtls: ssl_tls.c:2536 => fetch input

I (81880) mbedtls: ssl_tls.c:2697 in_left: 5, nb_want: 45

I (81890) mbedtls: ssl_tls.c:2721 in_left: 5, nb_want: 45

I (81890) mbedtls: ssl_tls.c:2722 ssl->f_recv(_timeout)() returned 40 (-0xffffffd8)

I (81900) mbedtls: ssl_tls.c:2742 <= fetch input

V (81900) mbedtls: ssl_tls.c:4233 dumping 'input record from network' (45 bytes)

V (81910) mbedtls: ssl_tls.c:4233 0000:  16 03 03 00 28 5a f3 8c c3 d8 c7 d6 84 6b f5 eb  ....(Z.......k..

V (81920) mbedtls: ssl_tls.c:4233 0010:  fe 5a 34 ca 1f 3c 4e 47 61 26 fa d1 01 3d 98 a3  .Z4..<NGa&...=..

V (81930) mbedtls: ssl_tls.c:4233 0020:  fd a4 b3 f4 1f 88 7f 4c a1 5e 65 1c 34           .......L.^e.4

I (81940) mbedtls: ssl_tls.c:1794 => decrypt buf

V (81950) mbedtls: ssl_tls.c:1881 dumping 'additional data for AEAD' (13 bytes)

V (81950) mbedtls: ssl_tls.c:1881 0000:  00 00 00 00 00 00 00 00 16 03 03 00 10           .............

V (81960) mbedtls: ssl_tls.c:1910 dumping 'IV used' (12 bytes)

V (81970) mbedtls: ssl_tls.c:1910 0000:  90 57 69 98 5a f3 8c c3 d8 c7 d6 84              .Wi.Z.......

V (81980) mbedtls: ssl_tls.c:1911 dumping 'TAG used' (16 bytes)

V (81990) mbedtls: ssl_tls.c:1911 0000:  3d 98 a3 fd a4 b3 f4 1f 88 7f 4c a1 5e 65 1c 34  =.........L.^e.4

I (82000) mbedtls: ssl_tls.c:2376 <= decrypt buf

V (82000) mbedtls: ssl_tls.c:4260 dumping 'input payload after decrypt' (16 bytes)

V (82010) mbedtls: ssl_tls.c:4260 0000:  14 00 00 0c a8 39 cf 3f aa 14 82 4c 96 94 19 08  .....9.?...L....

D (82020) mbedtls: ssl_tls.c:3626 handshake message: msglen = 16, type = 20, hslen = 16

I (82030) mbedtls: ssl_tls.c:4385 <= read record

I (82030) mbedtls: ssl_tls.c:6592 <= parse finished

I (82040) mbedtls: ssl_cli.c:3510 client state: 14

I (82040) mbedtls: ssl_tls.c:2755 => flush output

I (82050) mbedtls: ssl_tls.c:2767 <= flush output

I (82050) mbedtls: ssl_cli.c:3621 handshake: done

I (82060) mbedtls: ssl_cli.c:3510 client state: 15

I (82070) mbedtls: ssl_tls.c:2755 => flush output

I (82070) mbedtls: ssl_tls.c:2767 <= flush output

D (82080) mbedtls: ssl_tls.c:6336 => handshake wrapup

D (82080) mbedtls: ssl_tls.c:6309 => handshake wrapup: final free

D (82090) mbedtls: ssl_tls.c:6329 <= handshake wrapup: final free

D (82090) mbedtls: ssl_tls.c:6391 <= handshake wrapup

I (82100) mbedtls: ssl_tls.c:8094 <= handshake

D (82110) FlowBot: HTTP_EVENT_ON_CONNECTED
D (82110) HTTP_CLIENT: Write header[4]: POST /api/Tenant/Register HTTP/1.1
User-Agent: kIoT
Host: www.jdiflowbot.com
Content-Type: application/json
Content-Length: 230


I (82130) mbedtls: ssl_tls.c:8682 => write

I (82130) mbedtls: ssl_tls.c:3343 => write record

I (82140) mbedtls: ssl_tls.c:1445 => encrypt buf

V (82140) mbedtls: ssl_tls.c:1456 dumping 'before encrypt: output payload' (135 bytes)

V (82150) mbedtls: ssl_tls.c:1456 0000:  50 4f 53 54 20 2f 61 70 69 2f 54 65 6e 61 6e 74  POST /api/Tenant

V (82160) mbedtls: ssl_tls.c:1456 0010:  2f 52 65 67 69 73 74 65 72 20 48 54 54 50 2f 31  /Register HTTP/1

V (82170) mbedtls: ssl_tls.c:1456 0020:  2e 31 0d 0a 55 73 65 72 2d 41 67 65 6e 74 3a 20  .1..User-Agent:

V (82180) mbedtls: ssl_tls.c:1456 0030:  6b 49 6f 54 0d 0a 48 6f 73 74 3a 20 77 77 77 2e  kIoT..Host: www.

V (82190) mbedtls: ssl_tls.c:1456 0040:  6a 64 69 66 6c 6f 77 62 6f 74 2e 63 6f 6d 0d 0a  jdiflowbot.com..

V (82200) mbedtls: ssl_tls.c:1456 0050:  43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70  Content-Type: ap

V (82210) mbedtls: ssl_tls.c:1456 0060:  70 6c 69 63 61 74 69 6f 6e 2f 6a 73 6f 6e 0d 0a  plication/json..

V (82220) mbedtls: ssl_tls.c:1456 0070:  43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20  Content-Length:

V (82230) mbedtls: ssl_tls.c:1456 0080:  32 33 30 0d 0a 0d 0a                             230....

V (82240) mbedtls: ssl_tls.c:1574 dumping 'additional data for AEAD' (13 bytes)

V (82240) mbedtls: ssl_tls.c:1574 0000:  00 00 00 00 00 00 00 01 17 03 03 00 87           .............

V (82250) mbedtls: ssl_tls.c:1605 dumping 'IV used (internal)' (12 bytes)

V (82260) mbedtls: ssl_tls.c:1605 0000:  6c d3 07 97 00 00 00 00 00 00 00 01              l...........

V (82270) mbedtls: ssl_tls.c:1607 dumping 'IV used (transmitted)' (8 bytes)

V (82280) mbedtls: ssl_tls.c:1607 0000:  00 00 00 00 00 00 00 01                          ........

D (82290) mbedtls: ssl_tls.c:1618 before encrypt: msglen = 143, including 0 bytes of padding

V (82300) mbedtls: ssl_tls.c:1643 dumping 'after encrypt: tag' (16 bytes)

V (82300) mbedtls: ssl_tls.c:1643 0000:  d5 99 d4 12 19 68 86 c2 1f 69 a1 5a 4f f0 a3 1a  .....h...i.ZO...

I (82310) mbedtls: ssl_tls.c:1781 <= encrypt buf

D (82320) mbedtls: ssl_tls.c:3423 output record: msgtype = 23, version = [3:3], msglen = 159

V (82330) mbedtls: ssl_tls.c:3426 dumping 'output record sent to network' (164 bytes)

V (82330) mbedtls: ssl_tls.c:3426 0000:  17 03 03 00 9f 00 00 00 00 00 00 00 01 bf f8 de  ................

V (82340) mbedtls: ssl_tls.c:3426 0010:  5b a8 81 d7 82 67 1e 99 6c be 3c e1 d1 77 34 11  [....g..l.<..w4.

V (82350) mbedtls: ssl_tls.c:3426 0020:  d5 79 bd 3e c6 7a 7b 9e 1f 54 8f ad db fa 80 1a  .y.>.z{..T......

V (82360) mbedtls: ssl_tls.c:3426 0030:  a5 41 92 b9 8d 45 88 52 db b9 bc 09 15 34 48 87  .A...E.R.....4H.

V (82370) mbedtls: ssl_tls.c:3426 0040:  70 fe ad 51 f4 f4 d5 92 89 5b b3 d4 26 e0 2a c3  p..Q.....[..&.*.

V (82380) mbedtls: ssl_tls.c:3426 0050:  5d 13 17 60 ec 56 dd 4c 07 07 d1 8f 1e 61 ba 17  ]..`.V.L.....a..

V (82390) mbedtls: ssl_tls.c:3426 0060:  7b 31 a5 63 63 b5 ee e9 b8 2a 3c ec 73 ca ad 31  {1.cc....*<.s..1

V (82400) mbedtls: ssl_tls.c:3426 0070:  e4 7a e2 4b f7 14 11 c0 55 8c 46 53 03 5d 08 6e  .z.K....U.FS.].n

V (82410) mbedtls: ssl_tls.c:3426 0080:  70 22 8f 75 12 7d 1c 65 63 73 1e 6a 0c 47 07 90  p".u.}.ecs.j.G..

V (82420) mbedtls: ssl_tls.c:3426 0090:  e8 71 90 39 d5 99 d4 12 19 68 86 c2 1f 69 a1 5a  .q.9.....h...i.Z

V (82430) mbedtls: ssl_tls.c:3426 00a0:  4f f0 a3 1a                                      O...

I (82440) mbedtls: ssl_tls.c:2755 => flush output

I (82450) mbedtls: ssl_tls.c:2774 message length: 164, out_left: 164

I (82460) mbedtls: ssl_tls.c:2779 ssl->f_send() returned 164 (-0xffffff5c)

I (82460) mbedtls: ssl_tls.c:2807 <= flush output

I (82470) mbedtls: ssl_tls.c:3476 <= write record

I (82470) mbedtls: ssl_tls.c:8710 <= write

D (82480) FlowBot: HTTP_EVENT_HEADER_SENT
I (82480) mbedtls: ssl_tls.c:8682 => write

I (82490) mbedtls: ssl_tls.c:3343 => write record

I (82490) mbedtls: ssl_tls.c:1445 => encrypt buf

V (82500) mbedtls: ssl_tls.c:1456 dumping 'before encrypt: output payload' (230 bytes)

[ ... REDACTED... see sample JSON ... ]

V (82650) mbedtls: ssl_tls.c:1574 dumping 'additional data for AEAD' (13 bytes)

V (82660) mbedtls: ssl_tls.c:1574 0000:  00 00 00 00 00 00 00 02 17 03 03 00 e6           .............

V (82670) mbedtls: ssl_tls.c:1605 dumping 'IV used (internal)' (12 bytes)

V (82680) mbedtls: ssl_tls.c:1605 0000:  6c d3 07 97 00 00 00 00 00 00 00 02              l...........

V (82690) mbedtls: ssl_tls.c:1607 dumping 'IV used (transmitted)' (8 bytes)

V (82690) mbedtls: ssl_tls.c:1607 0000:  00 00 00 00 00 00 00 02                          ........

D (82700) mbedtls: ssl_tls.c:1618 before encrypt: msglen = 238, including 0 bytes of padding

V (82710) mbedtls: ssl_tls.c:1643 dumping 'after encrypt: tag' (16 bytes)

V (82720) mbedtls: ssl_tls.c:1643 0000:  b3 a6 9b b0 f6 ac ff 9c 87 29 cb c7 54 61 1c 48  .........)..Ta.H

I (82730) mbedtls: ssl_tls.c:1781 <= encrypt buf

D (82730) mbedtls: ssl_tls.c:3423 output record: msgtype = 23, version = [3:3], msglen = 254

V (82740) mbedtls: ssl_tls.c:3426 dumping 'output record sent to network' (259 bytes)

V (82750) mbedtls: ssl_tls.c:3426 0000:  17 03 03 00 fe 00 00 00 00 00 00 00 02 cd a9 ea  ................

V (82760) mbedtls: ssl_tls.c:3426 0010:  b3 3d 4d 1e 5c 16 a2 23 e8 32 42 a9 4b 2e 3a 5d  .=M.\..#.2B.K.:]

V (82770) mbedtls: ssl_tls.c:3426 0020:  cb f9 51 39 81 6d 2a 30 90 3b f8 7e 46 97 de 8b  ..Q9.m*0.;.~F...

V (82780) mbedtls: ssl_tls.c:3426 0030:  77 7f 22 82 f0 fe 4d 92 4a 7b 79 24 16 1e 67 99  w."...M.J{y$..g.

V (82790) mbedtls: ssl_tls.c:3426 0040:  c0 d8 82 91 06 e1 62 f2 d5 3c d1 55 3b 05 78 b4  ......b..<.U;.x.

V (82800) mbedtls: ssl_tls.c:3426 0050:  f7 b5 8a 2a 8f b5 24 80 79 e7 94 eb 78 10 f3 d2  ...*..$.y...x...

V (82810) mbedtls: ssl_tls.c:3426 0060:  ad cf f4 47 f8 ca e9 b3 84 84 70 cf b0 69 b0 b9  ...G......p..i..

V (82820) mbedtls: ssl_tls.c:3426 0070:  f9 8f 27 bc ea 98 e6 3c 8d 81 10 fa a5 11 eb f6  ..'....<........

V (82830) mbedtls: ssl_tls.c:3426 0080:  ed 98 2e ad b7 29 7d ae 3b 27 e6 d7 62 44 ff ce  .....)}.;'..bD..

V (82840) mbedtls: ssl_tls.c:3426 0090:  03 6f 29 36 fe 67 76 50 0c 11 c3 d4 d7 5d 1a 93  .o)6.gvP.....]..

V (82850) mbedtls: ssl_tls.c:3426 00a0:  36 e6 e2 05 42 f2 d0 75 69 b9 b1 0d d4 2f 4f aa  6...B..ui..../O.

V (82860) mbedtls: ssl_tls.c:3426 00b0:  03 a7 b6 bb 4b b2 91 bf 8f d0 a2 4f 01 19 d5 62  ....K......O...b

V (82870) mbedtls: ssl_tls.c:3426 00c0:  ac 5b cf 82 a6 61 93 a9 bb 41 1b 84 36 ab 02 e0  .[...a...A..6...

V (82880) mbedtls: ssl_tls.c:3426 00d0:  97 20 83 82 9a 2e a2 2b 8d c1 36 e4 ef b9 dc 79  . .....+..6....y

V (82890) mbedtls: ssl_tls.c:3426 00e0:  c2 95 9b d4 3a 01 2b e4 a5 b3 ff de 3d 76 c4 f0  ....:.+.....=v..

V (82900) mbedtls: ssl_tls.c:3426 00f0:  3f 71 2d b3 a6 9b b0 f6 ac ff 9c 87 29 cb c7 54  ?q-.........)..T

V (82910) mbedtls: ssl_tls.c:3426 0100:  61 1c 48                                         a.H

I (82920) mbedtls: ssl_tls.c:2755 => flush output

I (82920) mbedtls: ssl_tls.c:2774 message length: 259, out_left: 259

I (82930) mbedtls: ssl_tls.c:2779 ssl->f_send() returned 259 (-0xfffffefd)

I (82940) mbedtls: ssl_tls.c:2807 <= flush output

I (82940) mbedtls: ssl_tls.c:3476 <= write record

I (82950) mbedtls: ssl_tls.c:8710 <= write

I (87950) FlowBot: Current free heap: 175816, Minimum heap: 143264
E (87950) FlowBot: HTTP POST to https://www.jdiflowbot.com/api/Tenant/Register FAILED with error ESP_ERR_HTTP_FETCH_HEADER. 230 bytes
JSON: (REDACTED... see sample)
I (87980) FlowBot: Current free heap: 175816, Minimum heap: 143264
E (87980) FlowBot: Retrying HTTP POST to https://www.jdiflowbot.com/api/Tenant/Register... 2 of 20 times

sdkconfig.txt

@github-actions github-actions bot changed the title Inconsistent TLS negotiation failure Inconsistent TLS negotiation failure (IDFGH-4142) Oct 20, 2020
@Alvin1Zhang
Copy link
Collaborator

Thanks for the very detailed report and letting us know, we will look into.

@jgcjoec
Copy link
Author

jgcjoec commented Oct 21, 2020

Thank you @Alvin1Zhang!

@jgcjoec
Copy link
Author

jgcjoec commented Oct 21, 2020

In case it is helpful, attached is a network trace (in PCAP format... change .txt to .pcap). It contains a mixture of many HTTP request failures, co-mingled with I believe 2 successes (I wrote a for() to re-do the same HTTP request 100 times and took a 120 second capture of that traffic) I see many TCP RST and retransmissions within, but not sure why. Minimum heap space throughout was 108660. Free heap was typically between 150k and 180k throughout

_tmp_network-tests_9f297284-e711-4607-8121-bf8e8c62fdd3.txt

@jgcjoec
Copy link
Author

jgcjoec commented Oct 21, 2020

I did some more experimentation today, trying to narrow down the cause and noticed something interesting. After the device is initially programmed, it spins up a Wi-Fi AP for provisioning and uses a captive portal to do so (using a modified version of https://github.com/tonyp7/esp32-wifi-manager). It works as follows:

  1. Device spins up internal AP and captive portal hosted internally
  2. User connects to AP and supplies registration information, including connection details for an in-range Wi-Fi network
  3. Device connects to in-range Wi-Fi network and issues the registration HTTP request that is the subject of this ticket... that's when the inconsistencies start.
  4. Device reports connection success/failure back to the user logged into the captive portal (so the device is in STA and AP mode)

...HOWEVER...

I noticed that if I reboot the device, and issue the same HTTP requests after rebooting (after obviously connecting to the in-range Wi-Fi network), the HTTP requests NEVER fail - I tried hundreds of requests and they all succeeded. The only difference I can think of here is that after rebooting, the device never spins up the internal AP - it goes right into STA mode (since it already knows which Wi-Fi network it needs to connect to).

Could there be some edge case issuing HTTP requests that only presents itself when the device is in both AP and STA mode, but not when it jumps right into STA mode?

@negativekelvin
Copy link
Contributor

Possibly the additional overhead of operating as STA+AP creates a timing issue and the server enforces a timeout

@jgcjoec
Copy link
Author

jgcjoec commented Oct 22, 2020

If that was the case, wouldn't increasing the clock speed to 240 MHz improve things? It seems to occur equally as often at 80 MHz and 240 MHz.

@AdityaHPatwardhan
Copy link
Collaborator

Hi @jgcjoec , As you are using a custom wifi-provisioning manager it is difficult to tell weather it properly closes the AP after provisiong. Can you please use the recommended wifi provisioning manager and see if the issue is still present ? The link is https://github.com/espressif/esp-idf/tree/master/examples/provisioning/wifi_prov_mgr.

@jgcjoec
Copy link
Author

jgcjoec commented Oct 22, 2020

@AdityaHPatwardhan - the AP needs to remain active during and after provisioning completes to report success to a web-based UI.

@jgcjoec
Copy link
Author

jgcjoec commented Oct 22, 2020

I did some more experimenting and when I add this single line of code (disabling the Soft AP) to my callback function for event SYSTEM_EVENT_STA_GOT_IP, the HTTP requests succeed - without having to reboot the device.

esp_wifi_set_mode(WIFI_MODE_STA);

This solves my HTTP request issue, but it unfortunately disconnects all stations that are connected, which prevents me from being able to send connection success/failure messages back to the web UI.

Any suggestions for how to resolve this without shutting down the AP?

@negativekelvin
Copy link
Contributor

On the softap side are you also using a tls connection? Is it websocket or polled?

@jgcjoec
Copy link
Author

jgcjoec commented Oct 22, 2020

My web UI polls an API hosted by esp_http_server running on the AP. After credentials for the STA are supplied, the STA is started, and used to make an HTTPS (TLS 1.2) request to an AWS-hosted endpoint.

I tried looking at the wifi_prov_mgr example as suggested, but it appears to have some sort built-in protocomm HTTP server that I unfortunately don't have the time to learn right now. I tried to bypass it by calling wifi_prov_scheme_softap_set_httpd_handle(), but I can't start my HTTP server until after the Wi-Fi AP starts (I get an "Invalid mbox" assertion in tcpip.c), but the documentation states I must call wifi_prov_scheme_softap_set_httpd_handle() before I call wifi_prov_mgr_start_provisioning(), which is before the Wi-Fi AP starts... seems like a catch 22. I saw no examples that used wifi_prov_scheme_softap_set_httpd_handle().

@jgcjoec
Copy link
Author

jgcjoec commented Oct 22, 2020

Ok, I think I figured out the problem....

Keep in mind my device works as follows:

  1. Spin up Wi-Fi AP
  2. User connects to Wi-Fi AP
  3. User is redirected to a captive portal where they enter Wi-Fi credentials (among other things)
  4. Device leaves Wi-Fi AP running, attempts to connect to the user selected AP (AP + STA mode)
  5. Device sends HTTP request to an AWS-hosted server
  6. Device reports success/failure back to the user via the captive portal.
  7. Device goes to sleep or reboots (depends on configuration)

To re-cap, things were falling apart on step #5... those HTTP requests were sometimes succeeding, sometimes failing (failing more often than succeeding.

I observed that the HTTP requests ALWAYS succeed after step #7 (reboot) when the device is in STA mode only
I observed that the HTTP requests ALWAYS succeed at step #5 if the AP is explicitly turned off (i.e. putting the device in STA only mode)

My device is battery powered so naturally I am taking steps to conserve battery life - including modem sleep.

After commenting out the following line, HTTP requests succeed regardless of when they are issued:
ESP_ERROR_CHECK(esp_wifi_set_ps(WIFI_PS_MAX_MODEM));

I was able to reproduce this behavior in a stand-alone application based on the "softAP" and "station" examples under "getting_started".

I realize that power savings isn't free, but this seems like a bug to me... if the community agrees, I can post the sample code I wrote to reproduce this issue.

@mahavirj
Copy link
Member

@jgcjoec

I was able to reproduce this behavior in a stand-alone application based on the "softAP" and "station" examples under "getting_started".

Do you mean in either of examples (i.e. AP mode or STA mode) with enabling esp_wifi_set_ps(WIFI_PS_MAX_MODEM) you see problem with data transfer? Or you mean combining these examples together to create AP + STA mode behavior?

Anyhow, I think sample code can help us understand this better.

Few additional points:

CC @sagb2015 @liuzfesp

@jgcjoec
Copy link
Author

jgcjoec commented Oct 23, 2020

@mahavirj - I combined the "softAP" and "station" examples into one, added my HTTP posting code and was able to reproduce the problem at will by simply calling esp_wifi_set_ps(WIFI_PS_MAX_MODEM). I noticed that with WIFI_PS_MAX_MODEM enabled, AP power consumption is unchanged (which is what I expected from reading the docs), but STA power consumption is drastically reduced - which is perfect for a battery powered device.

Regarding the provisioning examples, all of the examples I've looked at in the latest ESP-IDF release seem to focus on using a mobile app for provisioning and unfortunately, that won't work for my use-case. I need to be able to provision from a captive portal.

Here is the code that I wrote to be able to reproduce this issue. To reproduce:

  1. Set EXAMPLE_STA_ESP_WIFI_SSID and EXAMPLE_STA_ESP_WIFI_PASS to the SSID and password (respectively) for your Wi-Fi network
  2. Compile and flash (sdkconfig.txt attached) using ESP-IDF 4.1. Other versions may exhibit similar behavior, but I only tested this example on ESP-IDF 4.1
  3. Connect to the "SoftAP" AP from your PC. Password is 12345678
  4. Observe occasional HTTP request failures. Failures will be in RED, successes will be in GREEN. Just eye-balling it, appears that roughly 50% of them fail for me.
  5. Comment out line 190: esp_wifi_set_ps(WIFI_PS_MAX_MODEM);
  6. Repeat steps 2 and 3
  7. Observe the HTTP request failures no longer occur, or occur FAR less frequently
/* WiFi station Example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "esp_http_client.h"
#include "esp_system.h"
#include "esp_wifi.h"
#include "esp_event.h"
#include "esp_log.h"
#include "nvs_flash.h"

#include "lwip/err.h"
#include "lwip/sys.h"

/* The examples use WiFi configuration that you can set via project configuration menu

   If you'd rather not, just change the below entries to strings with
   the config you want - ie #define EXAMPLE_WIFI_SSID "mywifissid"
*/
#define EXAMPLE_STA_ESP_WIFI_SSID      	"<YOUR WIFI SSID>"
#define EXAMPLE_STA_ESP_WIFI_PASS      	"<YOUR WIFI PASSWORD>"
#define EXAMPLE_STA_ESP_MAXIMUM_RETRY  	5
#define EXAMPLE_AP_ESP_WIFI_SSID      	"SoftAP"
#define EXAMPLE_AP_ESP_WIFI_PASS      	"12345678"
#define EXAMPLE_AP_ESP_WIFI_CHANNEL   	1
#define EXAMPLE_AP_MAX_STA_CONN      	4
#define URL				"https://httpbin.org/post"
#define JSON				"{\"FirstName\":\"foo\",\"LastName\":\"bar\",\"PhoneNumber\":\"1112223333\",\"EmailAddress\":\"[email protected]\",\"NickName\":\"test\",\"DeviceAddress\":\"25:2f:2b:e6:1a:51\",\"DeviceName\":\"Temperature Sensor\",\"ModelName\":\"Temperature Sensor V1\"}"

/* FreeRTOS event group to signal when we are connected*/
static EventGroupHandle_t s_wifi_event_group;

/* The event group allows multiple bits for each event, but we only care about two events:
 * - we are connected to the AP with an IP
 * - we failed to connect after the maximum amount of retries */
#define WIFI_CONNECTED_BIT BIT0
#define WIFI_FAIL_BIT      BIT1

static const char* TAG = "wifi station";

static int s_retry_num = 0;

static esp_http_client_handle_t http_client;

esp_err_t _http_event_handler(esp_http_client_event_t* evt)
{
	switch (evt->event_id)
	{
		case HTTP_EVENT_ERROR:
			ESP_LOGD(TAG, "HTTP_EVENT_ERROR");
			break;
		case HTTP_EVENT_ON_CONNECTED:
			ESP_LOGD(TAG, "HTTP_EVENT_ON_CONNECTED");
			break;
		case HTTP_EVENT_HEADER_SENT:
			ESP_LOGD(TAG, "HTTP_EVENT_HEADER_SENT");
			break;
		case HTTP_EVENT_ON_HEADER:
			ESP_LOGD(TAG, "HTTP_EVENT_ON_HEADER, key=%s, value=%s", evt->header_key, evt->header_value);
			break;
		case HTTP_EVENT_ON_DATA:
			ESP_LOGD(TAG, "HTTP_EVENT_ON_DATA, len=%d", evt->data_len);
			break;
		case HTTP_EVENT_ON_FINISH:
			ESP_LOGD(TAG, "HTTP_EVENT_ON_FINISH");
			break;
		case HTTP_EVENT_DISCONNECTED:
			ESP_LOGD(TAG, "HTTP_EVENT_DISCONNECTED");
			break;
	}
	return ESP_OK;
}

void init_http(const char* url)
{
	if (http_client == NULL)
	{
		ESP_LOGI(TAG, "Initializing HTTP client...");
		esp_http_client_config_t config = {
			.url = url,
			.event_handler = _http_event_handler
		};
		http_client = esp_http_client_init(&config);
	}
}

void shutdown_http_client()
{
	if (http_client != NULL)
	{
		ESP_LOGI(TAG, "Shutting down HTTP client...");
		esp_http_client_close(http_client);
		esp_http_client_cleanup(http_client);
		http_client = NULL;
	}
}

void send_http_post_request(const char* url, char* json)
{
	init_http(url);
	
	int request_size = strlen(json);	

	esp_http_client_set_url(http_client, url);
	esp_http_client_set_method(http_client, HTTP_METHOD_POST);
	esp_http_client_set_post_field(http_client, json, request_size);
	esp_http_client_set_header(http_client, "Content-Type", "application/json");
	esp_http_client_set_header(http_client, "User-Agent", "kIoT");

	esp_err_t err = esp_http_client_perform(http_client);
	int status_code = esp_http_client_get_status_code(http_client);
	if (err == ESP_OK)
	{
		if (status_code >= 100 && status_code <= 299)
		{
			ESP_LOGI(TAG, "HTTP POST to %s SUCCEEDED. HTTP status code: %d, %d bytes\nJSON: %s", url, status_code, request_size, json);
			return;
		}
		else if ((status_code >= 400 && status_code <= 499) || (status_code == 500))
		{
			// These codes are NOT indicative of a connection problem. Bail immediately - don't waste power retrying.
			ESP_LOGE(TAG, "HTTP POST to %s FAILED. HTTP status code: %d, %d bytes\nJSON: %s", url, status_code, request_size, json);
			shutdown_http_client();
			init_http(url);
			return;			
		}			
	}
	else
	{
		ESP_LOGE(TAG, "HTTP POST to %s FAILED with error %s. %d bytes\nJSON: %s", url, esp_err_to_name(err), request_size, json);
		shutdown_http_client();
		init_http(url);
		return;
	}
}

static void event_handler(void* arg, esp_event_base_t event_base,
    int32_t event_id, void* event_data)
{
    if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START)
    {
        esp_wifi_connect();
    }
    else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED)
    {
        if (s_retry_num < EXAMPLE_STA_ESP_MAXIMUM_RETRY)
        {
            esp_wifi_connect();
            s_retry_num++;
            ESP_LOGI(TAG, "retry to connect to the AP");
        }
        else
        {
            xEventGroupSetBits(s_wifi_event_group, WIFI_FAIL_BIT);
        }
        ESP_LOGI(TAG, "connect to the AP fail");
    }
    else if (event_id == WIFI_EVENT_AP_STACONNECTED)
    {
        wifi_event_ap_staconnected_t* event = (wifi_event_ap_staconnected_t*)event_data;
        ESP_LOGI(TAG, "station "MACSTR" join, AID=%d", MAC2STR(event->mac), event->aid);
		
		ESP_LOGI(TAG, "Station connected!");
		
		esp_netif_create_default_wifi_sta();

		wifi_config_t sta_config = {
			.sta = {
				.ssid = EXAMPLE_STA_ESP_WIFI_SSID,
				.password = EXAMPLE_STA_ESP_WIFI_PASS,
				/* Setting a password implies station will connect to all security modes including WEP/WPA.
				 * However these modes are deprecated and not advisable to be used. Incase your Access point
				 * doesn't support WPA2, these mode can be enabled by commenting below line */
				.threshold.authmode = WIFI_AUTH_WPA2_PSK,
				.pmf_cfg = {
					.capable = true,
					.required = false
				},
			}
		};

		esp_wifi_set_ps(WIFI_PS_MAX_MODEM);
		
		ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_APSTA));
		
		ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &sta_config));
    }
    else if (event_id == WIFI_EVENT_AP_STADISCONNECTED)
    {
        wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*)event_data;
        ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d",
            MAC2STR(event->mac), event->aid);
    }
    else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP)
    {
        ip_event_got_ip_t* event = (ip_event_got_ip_t*)event_data;
        ESP_LOGI(TAG, "got ip:" IPSTR, IP2STR(&event->ip_info.ip));
        s_retry_num = 0;
        xEventGroupSetBits(s_wifi_event_group, WIFI_CONNECTED_BIT);
		
		for (int i = 0; i < 200; i++) 
		{
			send_http_post_request(URL, JSON);
			ESP_LOGI(TAG, "Current free heap: %d, Minimum heap: %d", esp_get_free_heap_size(), esp_get_minimum_free_heap_size());
			vTaskDelay(pdMS_TO_TICKS(1000));
		}
    }
}

void wifi_init_ap(void)
{
    s_wifi_event_group = xEventGroupCreate();

    ESP_ERROR_CHECK(esp_netif_init());

    ESP_ERROR_CHECK(esp_event_loop_create_default());
	esp_netif_create_default_wifi_ap();

    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
    ESP_ERROR_CHECK(esp_wifi_init(&cfg));

    ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL));
    ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &event_handler, NULL));

    wifi_config_t ap_config = {
		.ap = {
            .ssid = EXAMPLE_AP_ESP_WIFI_SSID,
            .ssid_len = 0,
            .channel = EXAMPLE_AP_ESP_WIFI_CHANNEL,
            .password = EXAMPLE_AP_ESP_WIFI_PASS,
            .max_connection = EXAMPLE_AP_MAX_STA_CONN,
			.beacon_interval = 100,			
            .authmode = WIFI_AUTH_WPA_WPA2_PSK
        }
    };
    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_AP));
    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_AP, &ap_config));
    ESP_ERROR_CHECK(esp_wifi_start());

    /* Waiting until either the connection is established (WIFI_CONNECTED_BIT) or connection failed for the maximum
     * number of re-tries (WIFI_FAIL_BIT). The bits are set by event_handler() (see above) */
    EventBits_t bits = xEventGroupWaitBits(s_wifi_event_group,
        WIFI_CONNECTED_BIT | WIFI_FAIL_BIT,
        pdFALSE,
        pdFALSE,
        portMAX_DELAY);

    /* xEventGroupWaitBits() returns the bits before the call returned, hence we can test which event actually
     * happened. */
    if (bits & WIFI_CONNECTED_BIT)
    {
        ESP_LOGI(TAG, "connected to ap SSID:%s password:%s",
            EXAMPLE_STA_ESP_WIFI_SSID, EXAMPLE_STA_ESP_WIFI_PASS);
    }
    else if (bits & WIFI_FAIL_BIT)
    {
        ESP_LOGI(TAG, "Failed to connect to SSID:%s, password:%s",
            EXAMPLE_STA_ESP_WIFI_SSID, EXAMPLE_STA_ESP_WIFI_PASS);
    }
    else
    {
        ESP_LOGE(TAG, "UNEXPECTED EVENT");
    }
}

void app_main(void)
{
    //Initialize NVS
    esp_err_t ret = nvs_flash_init();
    if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND)
    {
        ESP_ERROR_CHECK(nvs_flash_erase());
        ret = nvs_flash_init();
    }
    ESP_ERROR_CHECK(ret);

    ESP_LOGI(TAG, "ESP_WIFI_MODE_STA");
    wifi_init_ap();
}

sdkconfig.txt

@mahavirj
Copy link
Member

@jgcjoec Thanks for providing sample application, can confirm the issue for release/v4.1. I have forwarded this internally to our WiFi team and they shall update here.

@mahavirj mahavirj changed the title Inconsistent TLS negotiation failure (IDFGH-4142) Inconsistent TLS negotiation failure with (AP+STA) and max power save mode (IDFGH-4142) Oct 27, 2020
@jgcjoec
Copy link
Author

jgcjoec commented Oct 27, 2020

@mahavirj - excellent - thank you!

@YouDONG-ESP
Copy link
Contributor

Hi @jgcjoec, seems like this issue is related to lwip timeout. Its value is 5 sec, set it to 10 sec is a workaround.

@jgcjoec
Copy link
Author

jgcjoec commented Oct 30, 2020

@YouDONG-ESP - would you mind indicating which specific setting in sdkconfig you're referring to?

@YouDONG-ESP
Copy link
Contributor

YouDONG-ESP commented Nov 2, 2020

@jgcjoec It's not in sdkconfig, you can add client->timeout_ms = 10000; at the beginning of esp_http_client_perform().

@jgcjoec
Copy link
Author

jgcjoec commented Nov 2, 2020

@YouDONG-ESP - thank you, I will give that a try. Just to be clear, that is a work-around for this issue and not intended to be a permanent fix, correct?

@YouDONG-ESP
Copy link
Contributor

YouDONG-ESP commented Nov 2, 2020

@jgcjoec yeah, just did a packet capture, it shows that the third step of SSL handshake will take more than 5 seconds when it's in AP STA coexist mode and max power save is enabled. Could you check the value of your AP's DTIM? You can do a packet capture and it's in the beacon frame.

@jgcjoec
Copy link
Author

jgcjoec commented Nov 2, 2020

@YouDONG-ESP - I checked my wireless settings (I use Unifi AC Pro access points, if that is relevant) and DTIM is set to the default value of 3.

@jgcjoec
Copy link
Author

jgcjoec commented Nov 2, 2020

@YouDONG-ESP - I just did some testing with various settings - here are the results:

With timeout_ms set to 10,000 and WIFI_PS_MAX_MODEM enabled. I did 3 runs of 100, rebooting the device between each run, and examined the failure rate:
First run failure rate was 13%
Second run failure rate was 24%
Third run failure rate was 10%
Average: 15.6%

With timeout_ms set to the default value and WIFI_PS_MAX_MODEM enabled. I did 3 runs of 100, rebooting the device between each run, and examined the failure rate:
First run failure rate was 8%
Second run failure rate was 15%
Third run failure rate was 6%
Average: 9.6%

With timeout_ms set to the default value and WIFI_PS_MAX_MODEM disabled. I did 3 runs of 100, rebooting the device between each run, and examined the failure rate:
First run failure rate was 0%
Second run failure rate was 0%
Third run failure rate was 0%
Average: 0%

@YouDONG-ESP
Copy link
Contributor

Hi @jgcjoec, seems like this issue can't be reproduced again, is it the same on your side?

@jgcjoec
Copy link
Author

jgcjoec commented Nov 9, 2020

@YouDONG-ESP - sorry for the late reply. I was out of town.

I just re-ran the scenario above titled "timeout_ms set to the default value and WIFI_PS_MAX_MODEM enabled" and I still experienced a 10% failure rate.

@jgcjoec
Copy link
Author

jgcjoec commented Nov 17, 2020

Please let me know if anyone needs me to do any further testing

@YouDONG-ESP
Copy link
Contributor

YouDONG-ESP commented Nov 18, 2020

@jgcjoec can you provide me a packet capture for this issue? It didn't reproduce again on my side, Seems like the server replies faster than before.

@jgcjoec
Copy link
Author

jgcjoec commented Nov 18, 2020

@YouDONG-ESP - please see attached trace where there were 2 failures. Please change the txt extension to pcap.

Thanks,

  • Joe

_tmp_network-tests_ed8c71f9-efbe-4c56-8274-97c645fe99aa.txt

@YouDONG-ESP
Copy link
Contributor

@jgcjoec Thanks for your help, we have found the root casuse. Basically it's because our STA received beacon frames that shouldn't be received while sleeping. We are discusting solutions.
By the way, In AP/STA coex mode, esp_wifi_set_ps() won't safe any power because RF is always open, so why not just turn it off?

@jgcjoec
Copy link
Author

jgcjoec commented Nov 20, 2020

@YouDONG-ESP - thanks, great news! I have a device that is briefly in AP & STA mode, then once provisioned, goes into STA only mode. esp_wifi_set_ps(WIFI_PS_MAX_MODEM) is used to save power when in STA mode only - power savings is fairly significant, too.

@negativekelvin
Copy link
Contributor

@YouDONG-ESP wifi driver should be smart enough to know if ap is active then don't let sta sleep if there is no advantage.

@jgcjoec i think he means call esp_wifi_set_ps(WIFI_PS_MAX_MODEM) after you switch to sta only mode

@jgcjoec
Copy link
Author

jgcjoec commented Nov 24, 2020

@YouDONG-ESP, @negativekelvin - I could apply the work-around you suggest, but it would require me to modify a 3rd party component that I use for wifi provisioning (https://github.com/tonyp7/esp32-wifi-manager).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants