# -DOPENSSL_LIBRARIES="${PWD}/../../boringssl/build/ssl/libssl.a;${PWD}/../../boringssl/build/crypto/libcrypto.a" \
# -DOPENSSL_INCLUDE_DIRS="${PWD}/../../boringssl/include" \
+# -DNDEBUG=1 after cflags
+
.PHONY: build
build:
cd $(COMPONENT_BUILD_DIR) ; \
echo "doing lws cmake" ; \
- cmake $(COMPONENT_PATH) -DLWS_C_FLAGS="$(CFLAGS) -DNDEBUG=1 " \
+ cmake $(COMPONENT_PATH) -DLWS_C_FLAGS="$(CFLAGS) -DNDEBUG=1" \
-DIDF_PATH=$(IDF_PATH) \
-DCROSS_PATH=$(CROSS_PATH) \
-DCOMPONENT_PATH=$(COMPONENT_PATH) \
n = lws_ssl_capable_write(wsi, buf, n);
lws_latency(context, wsi, "send lws_issue_raw", n, n == len);
+ //lwsl_notice("lws_ssl_capable_write: %d\n", n);
+
switch (n) {
case LWS_SSL_CAPABLE_ERROR:
/* we're going to close, let close know sends aren't possible */
* Newly truncated send. Buffer the remainder (it will get
* first priority next time the socket is writable)
*/
- lwsl_info("%p new partial sent %d from %lu total\n", wsi, n,
+ lwsl_debug("%p new partial sent %d from %lu total\n", wsi, n,
(unsigned long)real_len);
/*
lws_ssl_pending_no_ssl(struct lws *wsi)
{
(void)wsi;
+#if defined(LWS_WITH_ESP32)
+ return 100;
+#else
return 0;
+#endif
}
/* leave POLLOUT active either way */
goto bail_ok;
} else
- if (wsi->state == LWSS_FLUSHING_STORED_SEND_BEFORE_CLOSE)
+ if (wsi->state == LWSS_FLUSHING_STORED_SEND_BEFORE_CLOSE) {
+ wsi->socket_is_permanently_unusable = 1;
goto bail_die; /* retry closing now */
+ }
if (wsi->mode == LWSCM_WSCL_ISSUE_HTTP_BODY)
goto user_service;
#endif
// lwsl_debug("fd=%d, revents=%d, mode=%d, state=%d\n", pollfd->fd, pollfd->revents, (int)wsi->mode, (int)wsi->state);
- if (pollfd->revents & LWS_POLLHUP)
+ if (pollfd->revents & LWS_POLLHUP) {
+ lwsl_debug("pollhup\n");
+ wsi->socket_is_permanently_unusable = 1;
goto close_and_handled;
+ }
#ifdef LWS_OPENSSL_SUPPORT
goto handled;
close_and_handled:
- lwsl_debug("Close and handled\n");
+ lwsl_debug("%p: Close and handled\n", wsi);
lws_close_free_wsi(wsi, LWS_CLOSE_STATUS_NOSTATUS);
/*
* pollfd may point to something else after the close
if (n < 0) {
n = lws_ssl_get_error(wsi, n);
+ lwsl_notice("get_ssl_err result %d\n", n);
if (n == SSL_ERROR_WANT_READ || SSL_want_read(wsi->ssl)) {
lwsl_debug("%s: WANT_READ\n", __func__);
lwsl_debug("%p: LWS_SSL_CAPABLE_MORE_SERVICE\n", wsi);
const esp_partition_t *
ota_choose_part(void)
{
- const esp_partition_t *bootpart, *part;
+ const esp_partition_t *bootpart, *part = NULL;
esp_partition_iterator_t i;
bootpart = lws_esp_ota_get_boot_partition();
struct per_session_data__esplws_scan {
struct per_session_data__esplws_scan *next;
scan_state scan_state;
+ struct timeval last_send;
struct lws_spa *spa;
char filename[32];
}
switch (pss->scan_state) {
+ struct timeval t;
char ssid[32];
uint8_t mac[6];
struct lws_esp32_image i;
case SCAN_STATE_INITIAL:
+ gettimeofday(&t, NULL);
+ if (t.tv_sec - pss->last_send.tv_sec < 10)
+ return 0;
+
+ pss->last_send = t;
+
ESP_ERROR_CHECK(nvs_open("lws-station", NVS_READWRITE, &nvh));
n = 0;
if (nvs_get_blob(nvh, "ssl-pub.der", NULL, &s) == ESP_OK)
return 0;
}
issue:
+// lwsl_notice("issue: %d (%d)\n", p - start, n);
m = lws_write(wsi, (unsigned char *)start, p - start, n);
if (m < 0) {
lwsl_err("ERROR %d writing to di socket\n", m);