diff --git a/examples/device-dashboard/Makefile b/examples/device-dashboard/Makefile index 423bd428..937aaf71 100644 --- a/examples/device-dashboard/Makefile +++ b/examples/device-dashboard/Makefile @@ -7,6 +7,14 @@ DOCKER ?= docker run --rm -e Tmp=. -e WINEDEBUG=-all -v $(ROOT):$(ROOT) -w $(CUR VC98 ?= $(DOCKER) mdashnet/vc98 wine MINGW ?= $(DOCKER) mdashnet/mingw +ifeq "$(SSL)" "MBEDTLS" +CFLAGS += -DMG_ENABLE_MBEDTLS=1 -I$(MBEDTLS)/include -L$(MBEDTLS)/lib -lmbedtls -lmbedcrypto -lmbedx509 +endif + +ifeq "$(SSL)" "OPENSSL" +CFLAGS += -DMG_ENABLE_OPENSSL=1 -I$(OPENSSL)/include -L$(OPENSSL)/lib -lssl -lcrypto +endif + all: $(PROG) $(RUN) ./$(PROG) diff --git a/examples/device-dashboard/ca.pem b/examples/device-dashboard/ca.pem new file mode 120000 index 00000000..8addd9e2 --- /dev/null +++ b/examples/device-dashboard/ca.pem @@ -0,0 +1 @@ +../../test/data/ca.pem \ No newline at end of file diff --git a/examples/device-dashboard/net.c b/examples/device-dashboard/net.c index ec3c0e30..fbc6dfec 100644 --- a/examples/device-dashboard/net.c +++ b/examples/device-dashboard/net.c @@ -94,7 +94,11 @@ static void timer_metrics_fn(void *param) { // MQTT event handler function static void mqtt_fn(struct mg_connection *c, int ev, void *ev_data, void *fnd) { - if (ev == MG_EV_MQTT_OPEN) { + if (ev == MG_EV_CONNECT && mg_url_is_ssl(s_config.url)) { + struct mg_tls_opts opts = {.ca = "ca.pem", + .srvname = mg_url_host(s_config.url)}; + mg_tls_init(c, &opts); + } else if (ev == MG_EV_MQTT_OPEN) { s_connected = true; c->is_hexdumping = 1; mg_mqtt_sub(s_mqtt, mg_str(s_config.sub), 2); @@ -207,5 +211,7 @@ void device_dashboard_fn(struct mg_connection *c, int ev, void *ev_data, #endif mg_http_serve_dir(c, ev_data, &opts); } + MG_INFO(("%.*s %.*s -> %.*s", (int) hm->method.len, hm->method.ptr, + (int) hm->uri.len, hm->uri.ptr, (int) 3, &c->send.buf[9])); } }