From 6e08f6a04f2c0886c63f7075b19c5d20093533b0 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Thu, 9 Jan 2020 09:45:16 +0100 Subject: [PATCH 01/10] mqtt_outbox: fix to store timestamps in long-long format closes https://github.com/espressif/esp-mqtt/issues/144 closes IDFGH-2491 --- lib/include/mqtt_outbox.h | 9 +++++---- lib/mqtt_outbox.c | 10 +++++----- mqtt_client.c | 6 ++++-- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/include/mqtt_outbox.h b/lib/include/mqtt_outbox.h index 8d5f342..21b1436 100644 --- a/lib/include/mqtt_outbox.h +++ b/lib/include/mqtt_outbox.h @@ -16,6 +16,7 @@ struct outbox_item; typedef struct outbox_list_t *outbox_handle_t; typedef struct outbox_item *outbox_item_handle_t; typedef struct outbox_message *outbox_message_handle_t; +typedef long long outbox_tick_t; typedef struct outbox_message { uint8_t *data; @@ -35,17 +36,17 @@ typedef enum pending_state { } pending_state_t; outbox_handle_t outbox_init(void); -outbox_item_handle_t outbox_enqueue(outbox_handle_t outbox, outbox_message_handle_t message, int tick); -outbox_item_handle_t outbox_dequeue(outbox_handle_t outbox, pending_state_t pending, int *tick); +outbox_item_handle_t outbox_enqueue(outbox_handle_t outbox, outbox_message_handle_t message, outbox_tick_t tick); +outbox_item_handle_t outbox_dequeue(outbox_handle_t outbox, pending_state_t pending, outbox_tick_t *tick); outbox_item_handle_t outbox_get(outbox_handle_t outbox, int msg_id); uint8_t *outbox_item_get_data(outbox_item_handle_t item, size_t *len, uint16_t *msg_id, int *msg_type, int *qos); esp_err_t outbox_delete(outbox_handle_t outbox, int msg_id, int msg_type); esp_err_t outbox_delete_msgid(outbox_handle_t outbox, int msg_id); esp_err_t outbox_delete_msgtype(outbox_handle_t outbox, int msg_type); -int outbox_delete_expired(outbox_handle_t outbox, int current_tick, int timeout); +int outbox_delete_expired(outbox_handle_t outbox, outbox_tick_t current_tick, outbox_tick_t timeout); esp_err_t outbox_set_pending(outbox_handle_t outbox, int msg_id, pending_state_t pending); -esp_err_t outbox_set_tick(outbox_handle_t outbox, int msg_id, int tick); +esp_err_t outbox_set_tick(outbox_handle_t outbox, int msg_id, outbox_tick_t tick); int outbox_get_size(outbox_handle_t outbox); esp_err_t outbox_cleanup(outbox_handle_t outbox, int max_size); void outbox_destroy(outbox_handle_t outbox); diff --git a/lib/mqtt_outbox.c b/lib/mqtt_outbox.c index 5db1224..1723fb9 100644 --- a/lib/mqtt_outbox.c +++ b/lib/mqtt_outbox.c @@ -15,7 +15,7 @@ typedef struct outbox_item { int msg_id; int msg_type; int msg_qos; - int tick; + outbox_tick_t tick; int retry_count; pending_state_t pending; STAILQ_ENTRY(outbox_item) next; @@ -32,7 +32,7 @@ outbox_handle_t outbox_init(void) return outbox; } -outbox_item_handle_t outbox_enqueue(outbox_handle_t outbox, outbox_message_handle_t message, int tick) +outbox_item_handle_t outbox_enqueue(outbox_handle_t outbox, outbox_message_handle_t message, outbox_tick_t tick) { outbox_item_handle_t item = calloc(1, sizeof(outbox_item_t)); ESP_MEM_CHECK(TAG, item, return NULL); @@ -67,7 +67,7 @@ outbox_item_handle_t outbox_get(outbox_handle_t outbox, int msg_id) return NULL; } -outbox_item_handle_t outbox_dequeue(outbox_handle_t outbox, pending_state_t pending, int *tick) +outbox_item_handle_t outbox_dequeue(outbox_handle_t outbox, pending_state_t pending, outbox_tick_t *tick) { outbox_item_handle_t item; STAILQ_FOREACH(item, outbox, next) { @@ -131,7 +131,7 @@ esp_err_t outbox_set_pending(outbox_handle_t outbox, int msg_id, pending_state_t return ESP_FAIL; } -esp_err_t outbox_set_tick(outbox_handle_t outbox, int msg_id, int tick) +esp_err_t outbox_set_tick(outbox_handle_t outbox, int msg_id, outbox_tick_t tick) { outbox_item_handle_t item = outbox_get(outbox, msg_id); if (item) { @@ -155,7 +155,7 @@ esp_err_t outbox_delete_msgtype(outbox_handle_t outbox, int msg_type) return ESP_OK; } -int outbox_delete_expired(outbox_handle_t outbox, int current_tick, int timeout) +int outbox_delete_expired(outbox_handle_t outbox, outbox_tick_t current_tick, outbox_tick_t timeout) { int deleted_items = 0; outbox_item_handle_t item, tmp; diff --git a/mqtt_client.c b/mqtt_client.c index d5ab1c3..c16a41a 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -34,6 +34,8 @@ { if (key) { setfn(ssl, key, strlen(key)); } } #endif +_Static_assert(sizeof(uint64_t) == sizeof(outbox_tick_t), "mqtt-client tick type size different from outbox tick type"); + static const char *TAG = "MQTT_CLIENT"; #ifdef MQTT_SUPPORTED_FEATURE_EVENT_LOOP @@ -1100,8 +1102,8 @@ static esp_err_t mqtt_resend_queued(esp_mqtt_client_handle_t client, outbox_item static void esp_mqtt_task(void *pv) { esp_mqtt_client_handle_t client = (esp_mqtt_client_handle_t) pv; - uint32_t last_retransmit = 0; - int32_t msg_tick = 0; + uint64_t last_retransmit = 0; + outbox_tick_t msg_tick = 0; client->run = true; //get transport by scheme From 89a0c1fc9513e8181531a82b7124150e2c9e00fe Mon Sep 17 00:00:00 2001 From: David Cermak Date: Thu, 9 Jan 2020 10:11:38 +0100 Subject: [PATCH 02/10] removed examples from the submodule Valid and tested examples are always in esp-idf. these examples were for reference and might and have coused some confussion --- examples/emitter-client/CMakeLists.txt | 19 -- examples/emitter-client/Makefile | 13 -- examples/emitter-client/README.md | 10 -- examples/emitter-client/generate-key-0.png | Bin 239854 -> 0 bytes examples/emitter-client/generate-key-1.png | Bin 62056 -> 0 bytes .../emitter-client/main/Kconfig.projbuild | 22 --- examples/emitter-client/main/app_main.c | 156 ---------------- examples/emitter-client/main/component.mk | 0 examples/mqtt_ssl_mutual_auth/CMakeLists.txt | 19 -- examples/mqtt_ssl_mutual_auth/Makefile | 13 -- examples/mqtt_ssl_mutual_auth/README.md | 16 -- .../main/Kconfig.projbuild | 15 -- examples/mqtt_ssl_mutual_auth/main/app_main.c | 167 ------------------ .../mqtt_ssl_mutual_auth/main/component.mk | 1 - 14 files changed, 451 deletions(-) delete mode 100644 examples/emitter-client/CMakeLists.txt delete mode 100644 examples/emitter-client/Makefile delete mode 100644 examples/emitter-client/README.md delete mode 100644 examples/emitter-client/generate-key-0.png delete mode 100644 examples/emitter-client/generate-key-1.png delete mode 100644 examples/emitter-client/main/Kconfig.projbuild delete mode 100755 examples/emitter-client/main/app_main.c delete mode 100644 examples/emitter-client/main/component.mk delete mode 100644 examples/mqtt_ssl_mutual_auth/CMakeLists.txt delete mode 100644 examples/mqtt_ssl_mutual_auth/Makefile delete mode 100644 examples/mqtt_ssl_mutual_auth/README.md delete mode 100644 examples/mqtt_ssl_mutual_auth/main/Kconfig.projbuild delete mode 100755 examples/mqtt_ssl_mutual_auth/main/app_main.c delete mode 100644 examples/mqtt_ssl_mutual_auth/main/component.mk diff --git a/examples/emitter-client/CMakeLists.txt b/examples/emitter-client/CMakeLists.txt deleted file mode 100644 index 0dd1242..0000000 --- a/examples/emitter-client/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -cmake_minimum_required(VERSION 3.5) - -get_filename_component(DEV_ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE) - -set(PROJECT_ROOT "${DEV_ROOT}/") - -set(SUBMODULE_ROOT "${DEV_ROOT}/../../../") - -set(PROJECT_NAME "mqtt_ssl") - -include($ENV{IDF_PATH}/tools/cmake/project.cmake) - -set(MAIN_SRCS ${PROJECT_ROOT}/main/app_main.c) - -set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} ${SUBMODULE_ROOT}") -set(BUILD_COMPONENTS "${BUILD_COMPONENTS} espmqtt") - -project(${PROJECT_NAME}) - diff --git a/examples/emitter-client/Makefile b/examples/emitter-client/Makefile deleted file mode 100644 index 5b1d297..0000000 --- a/examples/emitter-client/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# -# This is a project Makefile. It is assumed the directory this Makefile resides in is a -# project subdirectory. -# -# -# This is a project Makefile. It is assumed the directory this Makefile resides in is a -# project subdirectory. -# -PROJECT_NAME := emitter_client -EXTRA_COMPONENT_DIRS += $(PROJECT_PATH)/../../../ - -include $(IDF_PATH)/make/project.mk - diff --git a/examples/emitter-client/README.md b/examples/emitter-client/README.md deleted file mode 100644 index a9aabae..0000000 --- a/examples/emitter-client/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# ESPMQTT Emitter client - -## Before you run this Example -- Register an account from https://emitter.io/ -- Login and create channel key, grant access for the channel `/topic/` as the images bellow -- `make menuconfig` provide Wi-Fi information and CHANNEL_KEY to `MQTT Application example` -- `make flash monitor` - -![](generate-key-0.png) -![](generate-key-1.png) diff --git a/examples/emitter-client/generate-key-0.png b/examples/emitter-client/generate-key-0.png deleted file mode 100644 index b43b5edec96101176219a227205e74aabb9fa0a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239854 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 qXQP!y>pnG1*^K?Y)(s*|#Z)Cl&;{CLLbI z&V76hYSwp<=IFU}>vqDU6?X+EFn)cue0|IAd%G;}{JiG-@L>6Sj`{UJGru>?T)mO4 zU-sGTl#d&3Ye^ei-MsfbPbO?e)!Pk6-&D6OOk9(YtR=5~ z-xRg1+6xM6vw&kARqsD^HHl`+P91y} zfLiJWEDgY{aTk;eY*4() zbWXxxeeI{D8~+>E9+sZJ?+#P@w?%s{Zk2ve$Dbpby20?O+_b)2)M_ru@jzS1Gnz&U+(t7o8nm`7IUc5srt{|S-(L}S-MuV7ODXI;o2yvLrtnqig=XK+xi$Q{ ze=>K$<)^RTT*~#gO1>{w2Xp38j*9F1l5%$0K1}^{QCz;od!GHu+kgFbI4l!g7N^}~ zUvjAL{z?7SZ|eU2eEx9rc{^@l9|K2ojlFxT%`IvI8yLR6T+qzN^?uLiuO_$O*Z=>W z*eV*P!EyJ_+nm_HPbT{xib(DiZR3#)N)A~z@89eA|6J2!%OZP>FS-b~+J3*Y`SI;c z-R9aKEuU`Z@Be$KUA|7Dc;hjt?3UDNk;|6Ktkj#LnJ*Mjaqjdn#Wg1(De0FOli8A4 z8tYHTTbR~-IJ(>S$cwoPPPF9MOYTd4uW}?Zbz|{O#^?l`1yB-)z1(VbQ!v=gRkeo*NNvxTfos=AL;q zpH4!&z7N|9zWps$4y<@>yqUSV)*_)4jsuvJZc~UccVgi{5>1Ucj^eKaSfUx?6rfwtCBxN#4h*B6mL&hE&}z#5rzE&Zm2O*HF=b(g^`_eTUA%{vB>M-hxFUM=?aSXmKIiRz zzbSY!(Y>wwzU*Cz+TU-tGw-i{zt>!AuEt6Y9d4Zs4#%G^U;gox$Uph|KZQHq@B5wg z=#2IIJ&gTc^=hwPO^>gW?6duL{e#t_Pb@>aU0S^zf4(w z-ddRP6*Jq{_U-s-Kzb%O){82P~+Rp z^!Xot-~VrSz2ns6*V}IAaZBfHaD1TQtfN2Y{Z|>Lib}J46_0Q6p9eYoX7>8MVrF+s zE`NA#|KCz7r1#VBFPHtwPg)4t8(<}*6nuKZDNiBzAnUF~l2`}@(>`c{s|Ow(>`dGS$VXMa)Q zoxYNpiH=i|&j;Q^5^|!9wp(DrFUw2sgwxR07C2#%KwcGDmJviAqV_nUs zlj_G`&N+4lnqAbH%$7(^(bhlleSd|zP28agnFm%~dHiwrvX5_P8ZJ6l`)viN4lwKa zf8+Oemq>Lft4w!|;)LTI|2@@vZ!Ks(`U{kb4_CcjdtKMQ_>7_ZgYSps{~63FIK=tz z!(smZ^N||+{(igN{(9Z+b+?uN=S?iu^RNyrDQYq)<*o~`wpsn);*<-X2}|$h$#vY< z*><+g|H!)PS1h;E!%H23GiGMz}sc(H&S-jtPT<+q7^uHmC zt0pBasxj%Bd}@NNIRCrtht;3XJ~iWB{?nLGTeYL78f~4_zsKUlkz40=x8E_^^YNIp zAxHL#KKp+^3_hPRHV>7XJ7fPIo8R+5k$Qlmrnh1Fx2Y>Qzwar{{_$z`yKGf2muxEz zw<~dx%CBZFKAajW?Kwp;WzX}qw@VqS&GZTkktB?+iA0N7o|HC zO1%7g|Np<`r|&3pb=2wa`QY^9ef@uFbA=1GeP1d)-_eKSuxJ&deAHbwcRB^740=+mp0+xP!{TX00s{mP>ab+1lopY~s`dY9ksheBS8<6k$< ze6@V8(+SM4xBdJ3zW%sXo4d>TtV2)dX!v~dsM&Mq%Jk>+>-UA_S?XkM-(*t~8~VF3 zUiq=kDQIgweD82s1*wZRp(fk-4467V~+VElbXdF>YyVp zPX#u(uVV4@ulwN88Ss`>GS%g5cydYHbivY>-0IiYot|U!^Wfjan=8Y#g}1mL{&2~y z^7^*(D%*|-dAB^B9&fiS+QjH=?W09A9w<5-Yz+wLobTR}KDo=8-_~SVXOY&dl1rY4 zmAZ9=%DrYMwn-L=NzzFBfMuj9e-Ehj?i4ozk+6I6ctW{T&db^HJQDr~pXouH`)0g+sS@ZigK1L^1T8&oC3z~m3F{tg|*6VT7 z%NJjp+*}j5{^qRT@9Y0po17Dsiz&aAx!mH$gri}J9sPk-XHBmkIjeVx*HNS`v+YA< z<AN zhSjSTi?x3HG*tY`0JVZ7I>5EptNhwuQJn#6*(K{wwA}Z3E}iN!_x~Hihm+KLHB??? zM$SH|8a-#RPREir;(OnS_B|K&w<(N?|M2Ve`s25S{VW#Bm0K?gFe()|+VENDW3A$o z1I}B&->Yty|NFvyXP2s5ACIit#hG3mO;b+s=TE6Dd-`a$N&Vl~@$SYh9L_R4l4ds? z0?#S$$w{AE8g?g6`l)Gtxzi61wF-lzy+_5OTg2mQ3QeZ9u$uRMxRf9t*ub;XvNsDlDRfNc>y%FiZ%>`peJDuX+RAgf6P+R8Nd5&`!R zwY93nT7lZC0cph?KU|fw8ifz%2=^H+(yRD(qu}Fb^=Y1YTMW*gu!?%pm2WWD+vKdt zA_HHyl?g z{dMNER5@k(|Ig>^m(q5p^>9`sZs<7B#IJr>IN#Un!y$=8c5A_7ET?4e3A){zsdem& z&Y?${PVYdin5`wE{mS=@o`_6TyZq+aoZ@p9ci&uem+!s*E%9}sW(U{pQxl5>9%>$` zcAM4PVQ|IVCMRIAg%9&#hvOYi3sYki+?Ulh^>XwxmkKy*JmoBtn6XmOb!X7NHD{Bm z9`u^uljzN>ILN$SrBvzZ;*ydh0ZGifpKQP1DQ;i6e4f=c(S7q>X9>LRG)=Bp_UdES z_P-P2{I_I3-FkQN2aE4_ig$mtt@+RAyh>1T|J`j)mJf6HJelO3RP_JPb9?4_8}=~r zF(r6({>U(On*nVv-*P|D7Q)GMU+?9_sKi%W4_({*Uif;j?5`7g57)6-|4npxdvUAU zs@;O6F*{!T6!!9%D!*jSnx7k2@0~3bl*7z(HTXbR(E09Wqo%;ZTbawRE?T?u*{qA) zM?x$GFW>smvT+{AugCKLB}DI61s__s<5AZE69*gDH`mk-U1rvo6xZlk6PUENC&fi? zkFe3A9sTXk((Qjo>hk=V!NsO;V=j@p=6vF=1sk=RMO`(rH04eipZ};}FxS5&vCW95PpK#1 zN#ZW$mQUxzzDu+`a^3eaYN?xum+k%1LkENd*Hxr;+0=1ef8kLjakJvL%VmH2y?);E zs`ZOGDt@nsmpEUe-kVvh#3Q+9hF0}8;UtfxEyuZ(y^lQ8(XzhFoNhDSXKl+3OFm~W zm4CaQdED~(zNEHcdxw>~?bP;3niC$(JGFL$)wbJpRjXpX_i6P>tiF$0RCd_pnMv&_srMbLx!LoOgSnxcM4hT`~LIAW0B+3Wm65zX$Jo;N?lO9virzo|ZJ|F;*1p7*^sTGY2bc6(7!*tM_s56k}(xGw$D(*2sDpkMHbh$;0imrlPn<*Lb= zbAc`&t}Jn5J|FNS_-SYL2X9V&zL%W_BA@m!u33FhL1^KLChM zXTF{jquWcr&aI&m&!!lB75-jUs!BUP?LLikxV!;k$m-Hl}0U`ui%jf0`t2>)ZeNinQzQ zh3`FY=bPi85tS8+a;#x6f)Mu=mA zR_sKj!(vBzB)Yd4Hmuw1&ZFU0rYOSqcZb_T|EXuMM7Ve+{gR)jeNn&eBlq0CvJ{t@ znk5214;~KfkJxU!CwrD$$P$i)KOX&k)P5+=B|*u{eRb*jdxrYC*D^XzgikbVQlIeN zsB=?l}^~%&{Sa&nn3vXY19ltsB0LE!pz+h(~*_3z@+l(#C< z*EQbLT9F>Km{liapTtWk1%*7X%%4T`jr@KtNwhpJ@L+c2geMOvO-cT4WjyrF1}cPu~OtvcwFVuXT44G*)A3HzB?UL?E)|KenZo0;DN=s&!pXl2+9`#vM9{fzae!ymC$$H71GxVmbhwq8}#Q)|7hw@zu zrkYzzMS?{#E42DwPW-+3yj``fWsl!AUdI#DOl4*q;^6#UG4ape2kiD9>!PgBuKUh3 zf1c8(gR?d&oswEmIlD|GQE?uRMTXYAccxm&C#M{r{cGO6^Pj?`thU{%tJ)Roy|1kQ zQ`6&xVu>yr*YP_~sJXIO>sHqfzugpB#;(b_qUO!}%=YkbeoN_4B z?vuyoS=mUQ%5AKB>Yd*5-gkH2jHEf4hb^3saZB^vx0LyOW1gX?WMHw+mIU3a-n)8M ze4hWe`0cK{!YOZA4q3MZX)IN=eszCc&&q>L>)+SDuU;DIwQLc`Cm~T=|LX~dwY}!+`a@ zh;@@w&GGKD7MFO#H)V$24AYP{i%%4mFpF>eU}qSx(CnO=h?Tm``L0)SVPWx*nHz^> z&;Zvl4Ib^66PvC+kFS$DSM}?|hRb*2_3y;2VA zQK`Ts_j}f~y!TA1n%Fa~gt;YWmIiZpY-#BB+k5`p^k`uHE^sPl*D{vF3qq5=NGvt@ zI%DY`DNU&$pN`4%ihGx@2~A4hUB+2?gHNti@2l0;)7#@}-1cs^xWYZZ)@@&^N2+0h z`!1zLb3DqsG?#T8iwN9N_5I<&5Z_nRZFoba|9-u6-Y&aE`F#GHTQ3^EHbgEqKE3+X zYqz4MnOiT{Rc(r0ZnUk~Z-3dJkH?SezKi5O77|wZG9vxhms^WUJwmsMK5g_ZyP?98 zG*{%mjuq zv)k_ypM=M^SgJ>@IQDqcbAR6FcGV?scdeSdK6PzZbahQz`P%1+zY95jLNtC%KiT}GW8&_Ar;Y^PNb6g2_}b4ks#7kyN7bk`9OU5f zIyG&ppO0bk?63RWGJiXM^UJ)h*;n%?tW-#O4u49vuF8(hOYP;A&cA-WDo1-#=h^fd zJ171+=q4et*ys2W>y=;Iu1qdb7C!nF9Bv6Lx12%kpg&@A-{u-rTzIf!ZDr>J!xJz4 zWo5p_|5%gZvGn%r&mTUC{}Vb_xosAI=dw=<%A3l#45zxZJZgXRum1n{`dy~C0=ZU* z1e@gvEY0rRF@0{|)+0jRCDH6lD_q@|hJM*|_4mq{oYiO91Z}5=g}F_!==J%`D6KeUsfc{;B;0HQ!pD-Q8pRO84pcG?|9Fg4h@7L?c zZ7MZfj+bq=9*)=Y=6Pce8EnkpZk#7ME#G^|xvn$a>5CRlE~}jER_ni_rv)@&u;b@d zZ8z?!quk3|H_x|B+VVT}j)Pmu+m`97MjM<%cCmh&nLbZ)f2@kLrvCY=vir5)ukLGh zws5=S`k^h~%Cvv0lBQsq&jW)$vtz$bXzgXXq}e-ZrN_EOzccr}n)~_Sl`AW5lwOZ5 z?$xLe*cQ2JyPMiw)paX$q@MOaU(@Mzc%g{XD)Gpfmt`+(IzMaYy`s~)yO*9WU%g;a z$=9Ce5`Js?A0Geq{p&Rb*JZhXUP`BJcn}>@=_Yc1Uezm2zS=I0?|!-0T^&}fOR`wX z>@H#W()`_}AE8^OPLY59a*OSEK<4?CO{;`5VbpBSQ@M-3>Bgg$KFQ!ioi8Wrzuk6re z9XvIneS*;C9}=yi8`V5^?|(V(N8#Ca?T^Okeqv{AAj==b! zRjbx6vAKCSDD$&t-PM; za^LpWe=c}F+q~6yzMamTpJx(N7i|?`yE$RwWDeHktD)g<&0M*X6X%v*>%8wX$!V4H zrp+%|ivMl(Wc~hwLGyC>gXuzx4@A9osaQADkA3MW?%=!#{X-@ibzem;OsUs??(_0i z=JL5&f%^OZd@4Alx%|qLi7`HhZ|82m`{;^w$|L99E5ENhwxCmZPno8h&r+4SQ$9>e zytAy$@0X2j`d{~5dc2RlZ{N_CZ&5$nYkqIXx3?NRE(RW_18NM9{rEQd6w_j>sWS^S z>m-h^*?DPQ%A>=#G%u|wO6IWJG)t;qqEg~Z=Dex-pN^S?p7K4i<;c80e*CEus}@A? ztKU>%zLC5qzVN8%uB*@c=H6H*-RL2k7W-gcb=_WP?T4D&uS8OpR0WqtE6P?}dcS7N zC9jxcj2ce@;&&Y4(mqmJe6vi9`S*Fqxa}>c1KCTw4jkvsxU_LO$7;XtmkVBUFQ3w3 zsCDA9yp0H7WySG8^Qsp-Hz#Zqj-U4X?e_RPo?c%1a&5fkcMNGKmukNXB>o7_*_Tv-YqY4Y(w3T07&MFq6 zaOzyx<0%WLBwtz@<8Sx#$)S}~-kz9tZ0WnKw+c_4ZtCrPGO6$|XPM2CH=56@o_fbw zPo1z<_;#t-dL^FB-%}1=4Ud;y98iAKfO&CDNNBX6z3j|;>daC1H0CXpe;XPh5A8%q zff^@`kNMMY*u;E4)%vhm|6ZZ(2=UBC+tw`_1R=3cZU@o)obwn|kS7 z(5~|nFP2|x$l3q*+sn6k&p#ZCK00OEWq*5Ht!+8>bsvw4mvb-gW)+Vy(AvFny6gE_ zmSUQLj~MIs1k`wYavuo%^Yf{obkKqW=8tBJn^*U17U#6h<0nWEi#RJny|-$}LE zFTx%Qu9tk>?$Wbq^751F^JBI@61+K6>iF@5@AvEf?+EK&IY(nkkk(}m3Ar_jC-d|c z82C&+Bz+`GnB%(ARf{ktPnv7E)mqKmaLo*(Q+aiBJyJhes@*Ex z9Whb=6&JJn8sRIyJg$8-+;Av?Gx100%`g@7W{oYUOT@j)UdGh@e71aP_i|`kIY6G# z|Ly92|F@d@`#-k(NnD#%xcb&!KTAio6z5}pDo>K;3ZF8}_PWs(9sFt2Cm}Ib$-}S1 z_x}ntne^&u_r+KqF&=Rnwl(Z0gyMMi@Z^*=CI$A#o8@U=|8P9H*+;@-bIIGJ>C@w{ zc^Ul8yI=eLZ0)@1WwtjfkBQyzQBS$Pr(~9tba8@*kyYRG6>{=Ry(M_`maSj7WT`xh zpZPD3!=QoY!dkvl(Nb}VKN{ZgS-%k|-<4cgH&5n{^1H(0vf|5sHqJj(sB&-F>^!Oc z)2D8?o_9#=Y+B!ur^&0=7$(Ke+qU!EV@FA2i-v_eE;w;tP4PLrO}YEW5}Ot7HR?St z^KagjIGDM(*R1QlKsM`i6WOJ)B{^z2g8fzBt5?OEYnN+3eEHg7&1FVuHj7J*B0s_| zhP5dE@#xRIsJSt%ziz?Jnk6T_b@iSLg>HJLnB`K%0?_*O;P}%8aq55;4 zJX^7+fz`s`Ywo+9&(}Si)poVg_TD4+2(wiOF1IvJO!pB~<2`TUw=BZX;2?|P`6-<} zr>Zg!u?y+%nf{=C;{;QMeSDU$_Ve5iT=@C?6g~fsMMkO<<+=WSczAfRdao5XTkj?B z%7g1?esE2Ec(Q-(wvRP0tP?++UuD?`{T6}s~5*E|LJ>v_Qddy zn+kW#Z}*g1H+P$oUCm>yyARq9Dzh#7bZOce=<+THL#Eg3cIVZssGE|!y;wTv=!2)W z4_m)}Ji&h$v`S&#{}p>nB`g2T-f8~$$L99?`d_Xa+?&9e)q2b4kD+Xs{{IlZ&~snn zHb2+Aul2)pc3t2Pzp1M|?rFXI-fpwJ(!=oOl3i0zU5!6~x#&gzjqQ`|9~u3fdbU== zqv^w)Pl*ryb%fTheSB`ZpaIj|b_ZqWQ^CJy=@`d(N$Bl9R~<4VV~ywRp4ixeOKxrZ zvRoQjBGT$Z6{dVz(-a?SV->n?)u-vlm)k$FJnLLFZ+iUw*On~5tiP>&!q40#FK2!2 z=*f;nBAcXleu+6bV>777p722F!CAE^jq13H;9l$68`=MacQ5<-R^;A~FHgmGY>`Xt zDqPm-CSs(}4INTslVhsknZ+A%qekWLF^PK`*SvrJHTdwVr8tMB$KkzFLVrki#pkA3 zl}$SjF>=qBeKxD&q1a9n`Q9yj5kKb4*cLzO?BnMWpw4jPzXpbR8fDpgzTL{+EgATx zqqBTf25)lxiQS(eOLaw9ay+&M3P~6V_nYecDQld3m@9bwUAE;#fu7AnIo>+%}O zbCthNeE3jZzU}1J>MxaQaXL8$r~MMob&7TI=eU#}KOPQtTw@!PCPlSw`Pi8w2$mfkUJAtez7vunD@ov2A>9{QJ%AYnQ&R4mNMM z-o4NA>x13pE$8?D*^-x)%qwSo#{A@?#Et9nopr5pb{bS(UnVr+$F<%!?I4#TFGu_$ z#bmamiXltVPQppscX!;M-aoIpKYUAHUoIKGzHPf*weFs)r7dl}#-$Qw-$G*DE?-I9 zv~f9)Gh45g(8rgIf@d#5oC)?M$nZup0g0tsw;wzb_*u|{cj3b3V_d;K#<_oVN7R8T8ea0ftOwOSDF{jD{F&9X6zFpmKt7)_#^=21@YI1Zlvux8Xo|d~K+A>V*Z4 zTZ`vQFe+cL1|?G2IqWG~uO7^Pd8hNT&kshT!>;-;bN;>%y$!>UmyR zMeGl$46pliQvKol|9{de{{4J@xcdEG@w9oB&o=z~_4<1MjfMUvk6-q;m;JoqQI~ev ziYa2JIePjUcvoID{5Y3Oz~beS$%kIA-!FGeI)BfGyJfdqHy)SUtrs50RsZ|;{X@0i z?}{JJ-Fh`F@s#HBHPXlVdm98_NV3@d`Ea=4@7L?@&+h-e_dUnMl+n2M=2`RmGNQLL zm(MjjV}8G8DO-ET_e0$JE_Ys<*Z;aae_Ge|mW*1h6|WQiKC1eB*8H&D?>EBts$Q>^ zn80|V{9fg9f2p7=e}BKr#t#&5OObbqqQ>SqT` zH2OAu{~y(wk4ME54{@sZ1V^pe^7ZMZ?Qd!&88wZqzCGO&@oisc!>f6HwZ`JM+Fzad zZAF9+G~BBD{kGa{quGw&w(a+-vMb*0e17P`!Di4Jg`gGeTPF4_mTEL?Ybbv!oqXZ@ z{}%Im6^{-6{dnAd-tM=~oVs5xcS!Ww> z)_%YH@SOE~p3LVbe!9!oik!20y+$JK-OlHH%5FU;WY;R?+*>bLl3C@Nc)CTiYxVES zO;aC6i>wd4Q}ywS&nDCAkUwt6jcU3prgY90cl+~c-b=Z}SxYw+O0`a|xtT0kxv8)u zRxNL_!K10=IU?cbKR+s3FDQC6TV#8jjqU2`+YVi^zSg}y{p~UF`K$USE$^5=@44*j zqncII?zN|DPf_oFXL{JbaMN)kn@xq6UN8F5qUrqg(9)MF=TCp|JFFp_mftbssN$vK z*w-_B&G&}Q*pn=!S3OUB-^}U{pye@UXTL7@GM`2WAIZ#cljU2?nPQ4_abhjR9r&-ZFRpLI80^y1Hr-WQ-X6cx{A zra$_^AT+D+nB?IP4-X&aulvw!a8hORlVjFzHXMF*F7p2Wf8QVf`Dnv<^R34{qh;&U6Sxf1LzD}JX*c1Mc4-D*eBuyRQU! z_o~gVNH0u`Vh>q==Y!8Av8SGqDW7@IFYdF_+VlV4@4{OeKT-~FxYn1sNMQDygfr%g z{{Q>F|DpWtw%4P;QGI2kBgdK*F{iY8MHSk;=E@2%(PjWXRKbYG1Q&1bkB~vEgCx-{>zr% z5o9;Ya6ZANm(%j$?)$p!W{YBv%>S__7PM-MxwNP1fNAQ^LtNS|s?%dO1(-cDi$302 z{A%U$w(0S8mXD78;(xOL`MheSZBzc2T=o^8VYlbktJVG2+-~*GKg6Mb>sD;}UD4C6 zW?p~O%S}#AG15Au`!x8d<)#MfzZ!3A?i3#9-Ewiuc_p4&-Bj0jm+FMQnnjzM6)qnL zsyz5(O0Zw&qm6x2O?4_+;?0;B@vN}kvUZb8%#*#ZR;@ntxZhsxUd7{H&@QbT{ukT- zzHqnKdZRp*%|>Ba*JedQV~G!^F4)~TlRPyvtn;VW=Vd!&I{ojar(66|GW)t+&s+K45oZL!zRuySCQ~!@s>@;!{aJd z=hS>U`SIK8_4}myL6Mm(e~R_JrP)+1rIb{5?_a_9E`M3NC%E#tVYaG&TE)cYewmwH zD?k7J*V@3l@?YpY*{RZ{CDAz>U2lM9clGL~#}s+yhAYP9NC;lYTD?}xI`!y7IawwB zcf$TQ8_jwfe+yiey7Bb+ve|iD(fNBzL)b3wXmNab_;ITe+xj=fhd#ty=Cc3)r#Nq_ zT7}(*1I!P1JnrlEDv=U=%)eCPaKi1}?Xtd&j)iv5W+X34VvrZ?lCn>E# zNiX_;k*-tX!*-*_M_tFmGPQj6D(|@=H?xuHmZz7-g+Bp(20Z0AQ>X8ES|;W8{Db37 zG5(V)%sP_1rO%wYmL;nm%M(_&X88hMPsPWQFE4NVv2eykw;4`zf_8swm1UD<+xN*w z3bL^FLXiK>RhF~AhfFIw=P7$Y}lozmI8`qSdL^Ty|Gc2+9Z@+h)#OYE5x)BDNI;?+ON^f?!KogXc{(5&iqf8FkP zQqN{(ue-Bl>am^A=Sj0`?P$|?+5OnP{_q3udkxGxHr!-vF4NTelE1~ar{vTOv$lzA zHZAcxIJ>G(ajN@?#zMFK4U^6%bgr2CDd5f`9N#odg*{;W6OW`Y?w~DG; z!@1sk+3lRbc{Th0DA7B2}(D2^H zX+3i`eq>QTRZ>xMY|okNQQ2$rK3&qhbaV4(`R5u(TMlY81X$_sezR%C75Sd~|X(b90w`>L<=Gy!~nsv-P&xXRJQEBKyU;cBedc z{rztD`@Uy|%5qyCG;xci>VMz&w|60Z4By4##lJEcfwte?i=A(x{ zv_`Fbd?eY+AX9k$uZB(im(Fuo7X`~p&be7|n76nvQ{C>E?#Dm_L%9>mY*v|<>^`o0 z@HeGo&cRt}r&{++RedG%_sPcNa?-zfBm=Jq3nspZ{y58N&1}%J!^PJHkBTbK_;zaA zw<~LX&2Flk>OS-3c#Sd7V#eg&=b8s+oAnB^28yL}{xMjj@akOAXo!IbvUUgY_-CeCK`}y1D>nhG_xQF$m?#Y~D`8Ox(*oS57m2x$XF1`AxqvzG1i`xx8 zIPQADy3yCpO=gNzP|L!6#rab-<4Sl^Uum;(GM7%#uI2gK{XKlv{u3Ks_wTuUP2$C& z1y5|9f4Et*Jo@--FS~60pN|&}lHKEY8v^@3cYK$sRjq1%Wx$+1#rW;KKL#6|D^s7o zonkh7y8ivw`#DP98~)C>o4eVthvAgPyRs=xZYL@gjifkpx7|!DY%zH&QYkpM^4ZM5 z!n7$9#8X}+K4|Uu^r_wckD^v-ODc=@(?GM+OH?22(cxcqLtvgJdxdnsCzm~MW|Vz- z9sl2|syo0<(y`6F&|pizoSEOYo;ACz5oMDU@R3KAH+8yrQrVHY4SOCKB-Q;q9bXoF zt}@cdsCyCjF^L+VuiCTqIh(iliZ6`2bjN*Wf|qFU1A{9cG?bb<_H2#H^Z9;|A#v4Q z9?g$WHCkKm%2(bj(tX-m@^hg?AvpAR{#z>_pWruCI>%=6GQ{hl)9vS$pM=%c-hX>U zU9VLBsH{@IPp9z3dnbR-|MzA2iiAZSm-;rdbsXAWJw?#H-mhZo?IfC*E;>BQ;X6-6#`JW_0# zE)Pz8aq;+g()ugoV&+d&gUemo$w+o!i9p10(}mf+Mb7dZGPJf?Ff+$lFXM zUbh!7PAEQ^EU5a^V$lJEPu+@5+np|ZRkW#d>N{NPnDpjWXXloRjUrFGGp%}NEPr{3 z+12xiNN*U&`_>+fkL~3#KeIaW-1h!mE5-!{AG@ zS~lz~0HYI03*vq_Uu+0ia`~m9msD!6V92XIJsR^C@)(M8AG+;ads3*Y*(~Rxd)(&4 zu62?}+YO#AX;>v==~PjaQ9s3a@s-LWzXT-%yZkMtBu&xhc< zR||V0D!q5i4_f`Pb?!CMr8bt!`!3E`6s~k%7-oB>E%&+9yq;%^--t;Dwj7jpt#vvX zHh+e%c(O=y+qNSm)*L?#R|I${Rth{mYF_^#y?{Ar_y1>shnd^#|H`y^Ww~f7xi!49 z{Tm|~*dFQ4x>By7MPkY1au>JYnhRgq^>|zoeG+0Wxo!Sv_{^k~-{0;SyNku1(f~QV zm$f{Zzg!<}36?Y5DE7aF{i0!4=&_28DK1MZm-97qUbe|}mI!wJ@_GJ$n``z*^|`{o z)oEp$@ujLJhrQIa$&IVc*>?Wr6tmf9``7=rXEIyzt6s9)h3_Rt<;{$g>49N!HZM

wa!{zwh@kLB}|O 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 diff --git a/examples/emitter-client/main/Kconfig.projbuild b/examples/emitter-client/main/Kconfig.projbuild deleted file mode 100644 index 50f4951..0000000 --- a/examples/emitter-client/main/Kconfig.projbuild +++ /dev/null @@ -1,22 +0,0 @@ -menu "MQTT Application example" - -config WIFI_SSID - string "WiFi SSID" - default "myssid" - help - SSID (network name) for the example to connect to. - -config WIFI_PASSWORD - string "WiFi Password" - default "mypassword" - help - WiFi password (WPA or WPA2) for the example to use. - -config EMITTER_CHANNEL_KEY - string "Emitter channel key" - default "" - help - The Emitter channel key using to pub/sub - - -endmenu diff --git a/examples/emitter-client/main/app_main.c b/examples/emitter-client/main/app_main.c deleted file mode 100755 index c2ab9d9..0000000 --- a/examples/emitter-client/main/app_main.c +++ /dev/null @@ -1,156 +0,0 @@ -#include -#include -#include -#include -#include "esp_wifi.h" -#include "esp_system.h" -#include "nvs_flash.h" - -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "freertos/semphr.h" -#include "freertos/queue.h" -#include "freertos/event_groups.h" - -#include "lwip/sockets.h" -#include "lwip/dns.h" -#include "lwip/netdb.h" - -#include "esp_log.h" -#include "mqtt_client.h" - -static const char *TAG = "MQTTS_SAMPLE"; - -static EventGroupHandle_t wifi_event_group; -const static int CONNECTED_BIT = BIT0; - -static void wifi_event_handler(void* arg, esp_event_base_t event_base, - int32_t event_id, void* event_data) -{ - switch (event_id) { - case WIFI_EVENT_STA_START: - esp_wifi_connect(); - break; - case WIFI_EVENT_STA_DISCONNECTED: - esp_wifi_connect(); - xEventGroupClearBits(wifi_event_group, CONNECTED_BIT); - break; - default: - break; - } - return; -} - -static void ip_event_handler(void* arg, esp_event_base_t event_base, - int32_t event_id, void* event_data) -{ - switch (event_id) { - case IP_EVENT_STA_GOT_IP: - xEventGroupSetBits(wifi_event_group, CONNECTED_BIT); - - break; - default: - break; - } - return; -} - -static void wifi_init(void) -{ - tcpip_adapter_init(); - wifi_event_group = xEventGroupCreate(); - ESP_ERROR_CHECK(esp_event_loop_create_default()); - ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &wifi_event_handler, NULL)); - ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &ip_event_handler, NULL)); - - wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_wifi_init(&cfg)); - ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM)); - wifi_config_t wifi_config = { - .sta = { - .ssid = CONFIG_WIFI_SSID, - .password = CONFIG_WIFI_PASSWORD, - }, - }; - ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); - ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config)); - ESP_LOGI(TAG, "start the WIFI SSID:[%s] password:[%s]", CONFIG_WIFI_SSID, "******"); - ESP_ERROR_CHECK(esp_wifi_start()); - ESP_LOGI(TAG, "Waiting for wifi"); - xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY); -} - -static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event) -{ - esp_mqtt_client_handle_t client = event->client; - int msg_id; - // your_context_t *context = event->context; - switch (event->event_id) { - case MQTT_EVENT_CONNECTED: - ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED"); - msg_id = esp_mqtt_client_subscribe(client, CONFIG_EMITTER_CHANNEL_KEY"/topic/", 0); - ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id); - - break; - case MQTT_EVENT_DISCONNECTED: - ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED"); - break; - - case MQTT_EVENT_SUBSCRIBED: - ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); - msg_id = esp_mqtt_client_publish(client, CONFIG_EMITTER_CHANNEL_KEY"/topic/", "data", 0, 0, 0); - ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id); - break; - case MQTT_EVENT_UNSUBSCRIBED: - ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); - break; - case MQTT_EVENT_PUBLISHED: - ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); - break; - case MQTT_EVENT_DATA: - ESP_LOGI(TAG, "MQTT_EVENT_DATA"); - printf("TOPIC=%.*s\r\n", event->topic_len, event->topic); - printf("DATA=%.*s\r\n", event->data_len, event->data); - break; - case MQTT_EVENT_ERROR: - ESP_LOGI(TAG, "MQTT_EVENT_ERROR"); - break; - default: - break; - } - return ESP_OK; -} - -static void mqtt_app_start(void) -{ - const esp_mqtt_client_config_t mqtt_cfg = { - .uri = "mqtts://api.emitter.io:443", // for mqtt over ssl - // .uri = "mqtt://api.emitter.io:8080", //for mqtt over tcp - // .uri = "ws://api.emitter.io:8080", //for mqtt over websocket - // .uri = "wss://api.emitter.io:443", //for mqtt over websocket secure - .event_handle = mqtt_event_handler, - }; - - ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size()); - esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg); - esp_mqtt_client_start(client); -} - -void app_main() -{ - ESP_LOGI(TAG, "[APP] Startup.."); - ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size()); - ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version()); - - esp_log_level_set("*", ESP_LOG_INFO); - esp_log_level_set("MQTT_CLIENT", ESP_LOG_VERBOSE); - esp_log_level_set("TRANSPORT_TCP", ESP_LOG_VERBOSE); - esp_log_level_set("TRANSPORT_SSL", ESP_LOG_VERBOSE); - esp_log_level_set("TRANSPORT", ESP_LOG_VERBOSE); - esp_log_level_set("OUTBOX", ESP_LOG_VERBOSE); - - nvs_flash_init(); - wifi_init(); - mqtt_app_start(); - -} diff --git a/examples/emitter-client/main/component.mk b/examples/emitter-client/main/component.mk deleted file mode 100644 index e69de29..0000000 diff --git a/examples/mqtt_ssl_mutual_auth/CMakeLists.txt b/examples/mqtt_ssl_mutual_auth/CMakeLists.txt deleted file mode 100644 index 106b117..0000000 --- a/examples/mqtt_ssl_mutual_auth/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -cmake_minimum_required(VERSION 3.5) - -get_filename_component(DEV_ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE) - -set(PROJECT_ROOT "${DEV_ROOT}/") - -set(SUBMODULE_ROOT "${DEV_ROOT}/../../../") - -set(PROJECT_NAME "mqtt_ssl_mutual_auth") - -include($ENV{IDF_PATH}/tools/cmake/project.cmake) - -set(MAIN_SRCS ${PROJECT_ROOT}/main/app_main.c) - -set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} ${SUBMODULE_ROOT}") -set(BUILD_COMPONENTS "${BUILD_COMPONENTS} espmqtt") - -project(${PROJECT_NAME}) - diff --git a/examples/mqtt_ssl_mutual_auth/Makefile b/examples/mqtt_ssl_mutual_auth/Makefile deleted file mode 100644 index c22f41d..0000000 --- a/examples/mqtt_ssl_mutual_auth/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# -# This is a project Makefile. It is assumed the directory this Makefile resides in is a -# project subdirectory. -# -# -# This is a project Makefile. It is assumed the directory this Makefile resides in is a -# project subdirectory. -# -PROJECT_NAME := mqtt_ssl_mutual_auth -EXTRA_COMPONENT_DIRS += $(PROJECT_PATH)/../../../ - -include $(IDF_PATH)/make/project.mk - diff --git a/examples/mqtt_ssl_mutual_auth/README.md b/examples/mqtt_ssl_mutual_auth/README.md deleted file mode 100644 index c415cdf..0000000 --- a/examples/mqtt_ssl_mutual_auth/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# ESPMQTT SSL Sample application - -Navigate to the main directory - -``` -cd main -``` - -Generate a client key and a CSR. When you are generating the CSR, do not use the default values. At a minimum, the CSR must include the Country, Organisation and Common Name fields. - -``` -openssl genrsa -out client.key -openssl req -out client.csr -key client.key -new -``` - -Paste the generated CSR in the [Mosquitto test certificate signer](https://test.mosquitto.org/ssl/index.php), click Submit and copy the downloaded `client.crt` in the `main` directory. diff --git a/examples/mqtt_ssl_mutual_auth/main/Kconfig.projbuild b/examples/mqtt_ssl_mutual_auth/main/Kconfig.projbuild deleted file mode 100644 index 1c9c2e6..0000000 --- a/examples/mqtt_ssl_mutual_auth/main/Kconfig.projbuild +++ /dev/null @@ -1,15 +0,0 @@ -menu "MQTT Application sample" - -config WIFI_SSID - string "WiFi SSID" - default "myssid" - help - SSID (network name) for the example to connect to. - -config WIFI_PASSWORD - string "WiFi Password" - default "mypassword" - help - WiFi password (WPA or WPA2) for the example to use. - -endmenu diff --git a/examples/mqtt_ssl_mutual_auth/main/app_main.c b/examples/mqtt_ssl_mutual_auth/main/app_main.c deleted file mode 100755 index 21c8ece..0000000 --- a/examples/mqtt_ssl_mutual_auth/main/app_main.c +++ /dev/null @@ -1,167 +0,0 @@ -#include -#include -#include -#include -#include "esp_wifi.h" -#include "esp_system.h" -#include "nvs_flash.h" - -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "freertos/semphr.h" -#include "freertos/queue.h" -#include "freertos/event_groups.h" - -#include "lwip/sockets.h" -#include "lwip/dns.h" -#include "lwip/netdb.h" - -#include "esp_log.h" -#include "esp_event.h" -#include "tcpip_adapter.h" -#include "mqtt_client.h" - -static const char *TAG = "MQTTS_SAMPLE"; - -static EventGroupHandle_t wifi_event_group; -const static int CONNECTED_BIT = BIT0; - -static void wifi_event_handler(void* arg, esp_event_base_t event_base, - int32_t event_id, void* event_data) -{ - switch (event_id) { - case WIFI_EVENT_STA_START: - esp_wifi_connect(); - break; - case WIFI_EVENT_STA_DISCONNECTED: - esp_wifi_connect(); - xEventGroupClearBits(wifi_event_group, CONNECTED_BIT); - break; - default: - break; - } - return; -} - -static void ip_event_handler(void* arg, esp_event_base_t event_base, - int32_t event_id, void* event_data) -{ - switch (event_id) { - case IP_EVENT_STA_GOT_IP: - xEventGroupSetBits(wifi_event_group, CONNECTED_BIT); - - break; - default: - break; - } - return; -} - -static void wifi_init(void) -{ - tcpip_adapter_init(); - wifi_event_group = xEventGroupCreate(); - ESP_ERROR_CHECK(esp_event_loop_create_default()); - ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &wifi_event_handler, NULL)); - ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &ip_event_handler, NULL)); - - wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_wifi_init(&cfg)); - ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM)); - wifi_config_t wifi_config = { - .sta = { - .ssid = CONFIG_WIFI_SSID, - .password = CONFIG_WIFI_PASSWORD, - }, - }; - ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); - ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config)); - ESP_LOGI(TAG, "start the WIFI SSID:[%s] password:[%s]", CONFIG_WIFI_SSID, "******"); - ESP_ERROR_CHECK(esp_wifi_start()); - ESP_LOGI(TAG, "Waiting for wifi"); - xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY); -} - -extern const uint8_t client_cert_pem_start[] asm("_binary_client_crt_start"); -extern const uint8_t client_cert_pem_end[] asm("_binary_client_crt_end"); -extern const uint8_t client_key_pem_start[] asm("_binary_client_key_start"); -extern const uint8_t client_key_pem_end[] asm("_binary_client_key_end"); - -static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event) -{ - esp_mqtt_client_handle_t client = event->client; - int msg_id; - // your_context_t *context = event->context; - switch (event->event_id) { - case MQTT_EVENT_CONNECTED: - ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED"); - msg_id = esp_mqtt_client_subscribe(client, "/topic/qos0", 0); - ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id); - - msg_id = esp_mqtt_client_subscribe(client, "/topic/qos1", 1); - ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id); - - msg_id = esp_mqtt_client_unsubscribe(client, "/topic/qos1"); - ESP_LOGI(TAG, "sent unsubscribe successful, msg_id=%d", msg_id); - break; - case MQTT_EVENT_DISCONNECTED: - ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED"); - break; - - case MQTT_EVENT_SUBSCRIBED: - ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id); - msg_id = esp_mqtt_client_publish(client, "/topic/qos0", "data", 0, 0, 0); - ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id); - break; - case MQTT_EVENT_UNSUBSCRIBED: - ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id); - break; - case MQTT_EVENT_PUBLISHED: - ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id); - break; - case MQTT_EVENT_DATA: - ESP_LOGI(TAG, "MQTT_EVENT_DATA"); - printf("TOPIC=%.*s\r\n", event->topic_len, event->topic); - printf("DATA=%.*s\r\n", event->data_len, event->data); - break; - case MQTT_EVENT_ERROR: - ESP_LOGI(TAG, "MQTT_EVENT_ERROR"); - break; - default: - break; - } - return ESP_OK; -} - -static void mqtt_app_start(void) -{ - const esp_mqtt_client_config_t mqtt_cfg = { - .uri = "mqtts://test.mosquitto.org:8884", - .event_handle = mqtt_event_handler, - .client_cert_pem = (const char *)client_cert_pem_start, - .client_key_pem = (const char *)client_key_pem_start, - }; - - ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size()); - esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg); - esp_mqtt_client_start(client); -} - -void app_main() -{ - ESP_LOGI(TAG, "[APP] Startup.."); - ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size()); - ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version()); - - esp_log_level_set("*", ESP_LOG_INFO); - esp_log_level_set("MQTT_CLIENT", ESP_LOG_VERBOSE); - esp_log_level_set("TRANSPORT_TCP", ESP_LOG_VERBOSE); - esp_log_level_set("TRANSPORT_SSL", ESP_LOG_VERBOSE); - esp_log_level_set("TRANSPORT", ESP_LOG_VERBOSE); - esp_log_level_set("OUTBOX", ESP_LOG_VERBOSE); - - nvs_flash_init(); - wifi_init(); - mqtt_app_start(); - -} diff --git a/examples/mqtt_ssl_mutual_auth/main/component.mk b/examples/mqtt_ssl_mutual_auth/main/component.mk deleted file mode 100644 index 01adda5..0000000 --- a/examples/mqtt_ssl_mutual_auth/main/component.mk +++ /dev/null @@ -1 +0,0 @@ -COMPONENT_EMBED_TXTFILES := client.crt client.key From 70871930931e29fb15a75b2441b767e3efa0237a Mon Sep 17 00:00:00 2001 From: David Cermak Date: Thu, 16 Jan 2020 09:49:45 +0100 Subject: [PATCH 03/10] mqtt_msg: address const correctness --- lib/include/mqtt_msg.h | 14 +++++++------- lib/mqtt_msg.c | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/include/mqtt_msg.h b/lib/include/mqtt_msg.h index a0d2acc..f91dffd 100644 --- a/lib/include/mqtt_msg.h +++ b/lib/include/mqtt_msg.h @@ -93,19 +93,19 @@ typedef struct mqtt_connect_info { } mqtt_connect_info_t; -static inline int mqtt_get_type(uint8_t *buffer) +static inline int mqtt_get_type(const uint8_t *buffer) { return (buffer[0] & 0xf0) >> 4; } -static inline int mqtt_get_connect_session_present(uint8_t *buffer) +static inline int mqtt_get_connect_session_present(const uint8_t *buffer) { return buffer[2] & 0x01; } -static inline int mqtt_get_connect_return_code(uint8_t *buffer) +static inline int mqtt_get_connect_return_code(const uint8_t *buffer) { return buffer[3]; } -static inline int mqtt_get_dup(uint8_t *buffer) +static inline int mqtt_get_dup(const uint8_t *buffer) { return (buffer[0] & 0x08) >> 3; } @@ -113,18 +113,18 @@ static inline void mqtt_set_dup(uint8_t *buffer) { buffer[0] |= 0x08; } -static inline int mqtt_get_qos(uint8_t *buffer) +static inline int mqtt_get_qos(const uint8_t *buffer) { return (buffer[0] & 0x06) >> 1; } -static inline int mqtt_get_retain(uint8_t *buffer) +static inline int mqtt_get_retain(const uint8_t *buffer) { return (buffer[0] & 0x01); } void mqtt_msg_init(mqtt_connection_t *connection, uint8_t *buffer, uint32_t buffer_length); bool mqtt_header_complete(uint8_t *buffer, uint32_t buffer_length); -uint32_t mqtt_get_total_length(uint8_t *buffer, uint32_t length, int *fixed_size_len); +uint32_t mqtt_get_total_length(const uint8_t *buffer, uint32_t length, int *fixed_size_len); char *mqtt_get_publish_topic(uint8_t *buffer, uint32_t *length); char *mqtt_get_publish_data(uint8_t *buffer, uint32_t *length); uint16_t mqtt_get_id(uint8_t *buffer, uint32_t length); diff --git a/lib/mqtt_msg.c b/lib/mqtt_msg.c index 37b2bd7..f6f983e 100644 --- a/lib/mqtt_msg.c +++ b/lib/mqtt_msg.c @@ -140,7 +140,7 @@ void mqtt_msg_init(mqtt_connection_t *connection, uint8_t *buffer, uint32_t buff connection->buffer_length = buffer_length; } -uint32_t mqtt_get_total_length(uint8_t *buffer, uint32_t length, int *fixed_size_len) +uint32_t mqtt_get_total_length(const uint8_t *buffer, uint32_t length, int *fixed_size_len) { int i; uint32_t totlen = 0; From 9eca3f6db94d366101e1271fabb97c0a8a5e1001 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Thu, 16 Jan 2020 16:30:52 +0100 Subject: [PATCH 04/10] mqtt_client: set_config to update ssl-transport configuration closes https://github.com/espressif/esp-mqtt/issues/146 closes IDFGH-2534 --- include/mqtt_client.h | 9 ++ mqtt_client.c | 229 +++++++++++++++++++++++++++--------------- 2 files changed, 158 insertions(+), 80 deletions(-) diff --git a/include/mqtt_client.h b/include/mqtt_client.h index bbcafa4..796f431 100644 --- a/include/mqtt_client.h +++ b/include/mqtt_client.h @@ -223,6 +223,15 @@ esp_err_t esp_mqtt_client_start(esp_mqtt_client_handle_t client); */ esp_err_t esp_mqtt_client_reconnect(esp_mqtt_client_handle_t client); +/** + * @brief This api is typically used to force disconnection from the broker + * + * @param client mqtt client handle + * + * @return ESP_OK on success + */ +esp_err_t esp_mqtt_client_disconnect(esp_mqtt_client_handle_t client); + /** * @brief Stops mqtt client tasks * diff --git a/mqtt_client.c b/mqtt_client.c index c16a41a..628c81d 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -26,14 +26,6 @@ # define MQTT_API_UNLOCK_FROM_OTHER_TASK(c) { if (c->task_handle != xTaskGetCurrentTaskHandle()) { xSemaphoreGive(c->api_lock); } } #endif /* MQTT_USE_API_LOCKS */ -#ifdef MQTT_SUPPORTED_FEATURE_DER_CERTIFICATES -# define MQTT_TRANSPORT_SET_CERT_OR_KEY(setfn, key, len) \ - { if (key) { if (len) { setfn##_der(ssl, key, len); } else { setfn(ssl, key, strlen(key)); } } } -#else -# define MQTT_TRANSPORT_SET_CERT_OR_KEY(setfn, key, len) \ - { if (key) { setfn(ssl, key, strlen(key)); } } -#endif - _Static_assert(sizeof(uint64_t) == sizeof(outbox_tick_t), "mqtt-client tick type size different from outbox tick type"); static const char *TAG = "MQTT_CLIENT"; @@ -121,8 +113,18 @@ struct esp_mqtt_client { TaskHandle_t task_handle; }; +enum esp_mqtt_ssl_cert_key_api { + MQTT_SSL_DATA_API_CA_CERT, + MQTT_SSL_DATA_API_CA_CERT_PEM, + MQTT_SSL_DATA_API_CLIENT_CERT, + MQTT_SSL_DATA_API_CLIENT_CERT_PEM, + MQTT_SSL_DATA_API_CLIENT_KEY, + MQTT_SSL_DATA_API_CLIENT_KEY_PEM, +}; + const static int STOPPED_BIT = BIT0; const static int RECONNECT_BIT = BIT1; +const static int DISCONNECT_BIT = BIT2; static esp_err_t esp_mqtt_dispatch_event(esp_mqtt_client_handle_t client); static esp_err_t esp_mqtt_dispatch_event_with_msgid(esp_mqtt_client_handle_t client); @@ -133,6 +135,58 @@ static esp_err_t esp_mqtt_client_ping(esp_mqtt_client_handle_t client); static char *create_string(const char *ptr, int len); static int mqtt_message_receive(esp_mqtt_client_handle_t client, int read_poll_timeout_ms); +static inline esp_err_t esp_mqtt_set_cert_key_data(esp_transport_handle_t ssl, enum esp_mqtt_ssl_cert_key_api what, const char *cert_key_data, int cert_key_len) +{ + char *data = (char *)cert_key_data; + int len = cert_key_len; + if (!data) { + return ESP_OK; + } + + if (len == 0) { + what += 1; + len = strlen(data); + } +#ifndef MQTT_SUPPORTED_FEATURE_DER_CERTIFICATES + else { + ESP_LOGE(TAG, "Explicit cert-/key-len is not available in IDF version %s", IDF_VER); + return ESP_FAIL; + } +#endif + + // option to force the cert/key config to null (i.e. skip validation) when setting new config + if (0 == strcmp(data, "NULL")) { + data = NULL; + len = 0; + } + + switch (what) { +#ifdef MQTT_SUPPORTED_FEATURE_DER_CERTIFICATES + case MQTT_SSL_DATA_API_CA_CERT: + esp_transport_ssl_set_cert_data_der(ssl, data, len); + break; + case MQTT_SSL_DATA_API_CLIENT_CERT: + esp_transport_ssl_set_client_cert_data_der(ssl, data, len); + break; + case MQTT_SSL_DATA_API_CLIENT_KEY: + esp_transport_ssl_set_client_key_data_der(ssl, data, len); + break; +#endif + case MQTT_SSL_DATA_API_CA_CERT_PEM: + esp_transport_ssl_set_cert_data(ssl, data, len); + break; + case MQTT_SSL_DATA_API_CLIENT_CERT_PEM: + esp_transport_ssl_set_client_cert_data(ssl, data, len); + break; + case MQTT_SSL_DATA_API_CLIENT_KEY_PEM: + esp_transport_ssl_set_client_key_data(ssl, data, len); + break; + default: + return ESP_FAIL; + } + return ESP_OK; +} + esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_client_config_t *config) { MQTT_API_LOCK_FROM_OTHER_TASK(client); @@ -293,14 +347,72 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl ESP_MEM_CHECK(TAG, cfg->alpn_protos[i], goto _mqtt_set_config_failed); } } + esp_transport_handle_t ssl = esp_transport_list_get_transport(client->transport_list, "mqtts"); if (config->clientkey_password && config->clientkey_password_len) { - cfg->clientkey_password_len = config->clientkey_password_len; - cfg->clientkey_password = malloc(cfg->clientkey_password_len); - memcpy(cfg->clientkey_password, config->clientkey_password, cfg->clientkey_password_len); +#ifdef MQTT_SUPPORTED_FEATURE_CLIENT_KEY_PASSWORD + esp_transport_ssl_set_client_key_password(ssl, + config->clientkey_password, + config->clientkey_password_len); +#else + ESP_LOGE(TAG, "Password protected keys are not available in IDF version %s", IDF_VER); + goto _mqtt_set_config_failed; +#endif } + if (config->transport) { + free(client->config->scheme); + if (config->transport == MQTT_TRANSPORT_OVER_WS) { + cfg->scheme = create_string("ws", 2); + ESP_MEM_CHECK(TAG, cfg->scheme, goto _mqtt_set_config_failed); + } else if (config->transport == MQTT_TRANSPORT_OVER_TCP) { + cfg->scheme = create_string("mqtt", 4); + ESP_MEM_CHECK(TAG, cfg->scheme, goto _mqtt_set_config_failed); + } else if (config->transport == MQTT_TRANSPORT_OVER_SSL) { + cfg->scheme = create_string("mqtts", 5); + ESP_MEM_CHECK(TAG, cfg->scheme, goto _mqtt_set_config_failed); + } else if (config->transport == MQTT_TRANSPORT_OVER_WSS) { + cfg->scheme = create_string("wss", 3); + ESP_MEM_CHECK(TAG, cfg->scheme, goto _mqtt_set_config_failed); + } + } + + if (config->use_global_ca_store == true) { + esp_transport_ssl_enable_global_ca_store(ssl); + } else { + esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CA_CERT, config->cert_pem, config->cert_len); + } + + esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CLIENT_CERT, config->client_cert_pem, config->client_cert_len); + esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CLIENT_KEY, config->client_key_pem, config->client_key_len); + + if (config->psk_hint_key) { +#ifdef MQTT_SUPPORTED_FEATURE_PSK_AUTHENTICATION + esp_transport_ssl_set_psk_key_hint(ssl, config->psk_hint_key); +#else + ESP_LOGE(TAG, "PSK authentication is not available in IDF version %s", IDF_VER); + goto _mqtt_set_config_failed; +#endif + } + + if (cfg->alpn_protos) { +#ifdef MQTT_SUPPORTED_FEATURE_ALPN + esp_transport_ssl_set_alpn_protocol(ssl, (const char **)cfg->alpn_protos); +#else + ESP_LOGE(TAG, "APLN is not available in IDF version %s", IDF_VER); + goto _mqtt_set_config_failed; +#endif + } MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + + // Set uri at the end of config to override separately configured uri elements + if (config->uri) { + if (esp_mqtt_client_set_uri(client, cfg->uri) != ESP_OK) { + esp_mqtt_destroy_config(client); + return ESP_FAIL; + } + } + return ESP_OK; _mqtt_set_config_failed: esp_mqtt_destroy_config(client); @@ -444,14 +556,7 @@ esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *co free(client); return NULL; } - esp_mqtt_set_config(client, config); -#ifdef MQTT_SUPPORTED_FEATURE_EVENT_LOOP - esp_event_loop_args_t no_task_loop = { - .queue_size = 1, - .task_name = NULL, - }; - esp_event_loop_create(&no_task_loop, &client->config->event_loop_handle); -#endif + client->transport_list = esp_transport_list_init(); ESP_MEM_CHECK(TAG, client->transport_list, goto _mqtt_init_failed); @@ -459,10 +564,6 @@ esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *co ESP_MEM_CHECK(TAG, tcp, goto _mqtt_init_failed); esp_transport_set_default_port(tcp, MQTT_TCP_DEFAULT_PORT); esp_transport_list_add(client->transport_list, tcp, "mqtt"); - if (config->transport == MQTT_TRANSPORT_OVER_TCP) { - client->config->scheme = create_string("mqtt", 4); - ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed); - } #if MQTT_ENABLE_WS esp_transport_handle_t ws = esp_transport_ws_init(tcp); @@ -472,10 +573,6 @@ esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *co esp_transport_ws_set_subprotocol(ws, "mqtt"); #endif esp_transport_list_add(client->transport_list, ws, "ws"); - if (config->transport == MQTT_TRANSPORT_OVER_WS) { - client->config->scheme = create_string("ws", 2); - ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed); - } #endif #if MQTT_ENABLE_SSL @@ -483,51 +580,7 @@ esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *co ESP_MEM_CHECK(TAG, ssl, goto _mqtt_init_failed); esp_transport_set_default_port(ssl, MQTT_SSL_DEFAULT_PORT); -#ifndef MQTT_SUPPORTED_FEATURE_DER_CERTIFICATES - if (config->cert_len || config->client_cert_len || config->client_key_len) { - ESP_LOGE(TAG, "Explicit cert-/key-len is not available in IDF version %s", IDF_VER); - goto _mqtt_init_failed; - } -#endif - - if (config->use_global_ca_store == true) { - esp_transport_ssl_enable_global_ca_store(ssl); - } else if (config->cert_pem) { - MQTT_TRANSPORT_SET_CERT_OR_KEY(esp_transport_ssl_set_cert_data, config->cert_pem, config->cert_len); - } - MQTT_TRANSPORT_SET_CERT_OR_KEY(esp_transport_ssl_set_client_cert_data, config->client_cert_pem, config->client_cert_len); - MQTT_TRANSPORT_SET_CERT_OR_KEY(esp_transport_ssl_set_client_key_data, config->client_key_pem, config->client_key_len); -#ifdef MQTT_SUPPORTED_FEATURE_CLIENT_KEY_PASSWORD - if (client->config->clientkey_password && client->config->clientkey_password_len) { - esp_transport_ssl_set_client_key_password(ssl, - client->config->clientkey_password, - client->config->clientkey_password_len); - } -#endif - - if (config->psk_hint_key) { -#ifdef MQTT_SUPPORTED_FEATURE_PSK_AUTHENTICATION - esp_transport_ssl_set_psk_key_hint(ssl, config->psk_hint_key); -#else - ESP_LOGE(TAG, "PSK authentication is not available in IDF version %s", IDF_VER); - goto _mqtt_init_failed; -#endif - } - - if (client->config->alpn_protos) { -#ifdef MQTT_SUPPORTED_FEATURE_ALPN - esp_transport_ssl_set_alpn_protocol(ssl, (const char **)client->config->alpn_protos); -#else - ESP_LOGE(TAG, "APLN is not available in IDF version %s", IDF_VER); - goto _mqtt_init_failed; -#endif - } - esp_transport_list_add(client->transport_list, ssl, "mqtts"); - if (config->transport == MQTT_TRANSPORT_OVER_SSL) { - client->config->scheme = create_string("mqtts", 5); - ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed); - } #endif #if MQTT_ENABLE_WSS @@ -538,16 +591,18 @@ esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *co #endif esp_transport_set_default_port(wss, MQTT_WSS_DEFAULT_PORT); esp_transport_list_add(client->transport_list, wss, "wss"); - if (config->transport == MQTT_TRANSPORT_OVER_WSS) { - client->config->scheme = create_string("wss", 3); - ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed); - } #endif - if (client->config->uri) { - if (esp_mqtt_client_set_uri(client, client->config->uri) != ESP_OK) { - goto _mqtt_init_failed; - } + + if (esp_mqtt_set_config(client, config) != ESP_OK) { + goto _mqtt_init_failed; } +#ifdef MQTT_SUPPORTED_FEATURE_EVENT_LOOP + esp_event_loop_args_t no_task_loop = { + .queue_size = 1, + .task_name = NULL, + }; + esp_event_loop_create(&no_task_loop, &client->config->event_loop_handle); +#endif client->keepalive_tick = platform_tick_get_ms(); client->reconnect_tick = platform_tick_get_ms(); @@ -1124,7 +1179,7 @@ static void esp_mqtt_task(void *pv) MQTT_API_LOCK(client); switch ((int)client->state) { case MQTT_STATE_INIT: - xEventGroupClearBits(client->status_bits, RECONNECT_BIT); + xEventGroupClearBits(client->status_bits, RECONNECT_BIT | DISCONNECT_BIT); client->event.event_id = MQTT_EVENT_BEFORE_CONNECT; esp_mqtt_dispatch_event_with_msgid(client); @@ -1164,6 +1219,11 @@ static void esp_mqtt_task(void *pv) break; case MQTT_STATE_CONNECTED: + // check for disconnection request + if (xEventGroupWaitBits(client->status_bits, DISCONNECT_BIT, true, true, 0) & DISCONNECT_BIT) { + esp_mqtt_abort_connection(client); + break; + } // receive and process data if (mqtt_process_receive(client) == ESP_FAIL) { esp_mqtt_abort_connection(client); @@ -1283,9 +1343,17 @@ esp_err_t esp_mqtt_client_start(esp_mqtt_client_handle_t client) return err; } +esp_err_t esp_mqtt_client_disconnect(esp_mqtt_client_handle_t client) +{ + ESP_LOGI(TAG, "Client asked to disconnect"); + xEventGroupSetBits(client->status_bits, DISCONNECT_BIT); + return ESP_OK; +} + esp_err_t esp_mqtt_client_reconnect(esp_mqtt_client_handle_t client) { ESP_LOGI(TAG, "Client force reconnect requested"); + if (client->state != MQTT_STATE_WAIT_TIMEOUT) { ESP_LOGD(TAG, "The client is not waiting for reconnection. Ignore the request"); return ESP_FAIL; @@ -1305,6 +1373,7 @@ esp_err_t esp_mqtt_client_stop(esp_mqtt_client_handle_t client) client->mqtt_state.outbound_message = mqtt_msg_disconnect(&client->mqtt_state.mqtt_connection); if (client->mqtt_state.outbound_message->length == 0) { ESP_LOGE(TAG, "Disconnect message cannot be created"); + MQTT_API_UNLOCK_FROM_OTHER_TASK(client); return ESP_FAIL; } if (mqtt_write_data(client) != ESP_OK) { From 3a47e3abaeb9ec85481e5b6b7fdb06b73eeecc04 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Fri, 17 Jan 2020 14:06:56 +0100 Subject: [PATCH 05/10] client locking: used recursive mutex instead to avoid getting the code too complex --- mqtt_client.c | 62 ++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/mqtt_client.c b/mqtt_client.c index 628c81d..31120d5 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -17,13 +17,9 @@ #ifdef MQTT_DISABLE_API_LOCKS # define MQTT_API_LOCK(c) # define MQTT_API_UNLOCK(c) -# define MQTT_API_LOCK_FROM_OTHER_TASK(c) -# define MQTT_API_UNLOCK_FROM_OTHER_TASK(c) #else -# define MQTT_API_LOCK(c) xSemaphoreTake(c->api_lock, portMAX_DELAY) -# define MQTT_API_UNLOCK(c) xSemaphoreGive(c->api_lock) -# define MQTT_API_LOCK_FROM_OTHER_TASK(c) { if (c->task_handle != xTaskGetCurrentTaskHandle()) { xSemaphoreTake(c->api_lock, portMAX_DELAY); } } -# define MQTT_API_UNLOCK_FROM_OTHER_TASK(c) { if (c->task_handle != xTaskGetCurrentTaskHandle()) { xSemaphoreGive(c->api_lock); } } +# define MQTT_API_LOCK(c) xSemaphoreTakeRecursive(c->api_lock, portMAX_DELAY) +# define MQTT_API_UNLOCK(c) xSemaphoreGiveRecursive(c->api_lock) #endif /* MQTT_USE_API_LOCKS */ _Static_assert(sizeof(uint64_t) == sizeof(outbox_tick_t), "mqtt-client tick type size different from outbox tick type"); @@ -189,7 +185,7 @@ static inline esp_err_t esp_mqtt_set_cert_key_data(esp_transport_handle_t ssl, e esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_client_config_t *config) { - MQTT_API_LOCK_FROM_OTHER_TASK(client); + MQTT_API_LOCK(client); //Copy user configurations to client context esp_err_t err = ESP_OK; mqtt_config_storage_t *cfg; @@ -198,7 +194,7 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl } else { cfg = calloc(1, sizeof(mqtt_config_storage_t)); ESP_MEM_CHECK(TAG, cfg, { - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return ESP_ERR_NO_MEM; }); client->config = cfg; @@ -403,8 +399,6 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl goto _mqtt_set_config_failed; #endif } - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); - // Set uri at the end of config to override separately configured uri elements if (config->uri) { if (esp_mqtt_client_set_uri(client, cfg->uri) != ESP_OK) { @@ -413,10 +407,12 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl } } + MQTT_API_UNLOCK(client); + return ESP_OK; _mqtt_set_config_failed: esp_mqtt_destroy_config(client); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return err; } @@ -550,7 +546,7 @@ esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *co free(client); return NULL; } - client->api_lock = xSemaphoreCreateMutex(); + client->api_lock = xSemaphoreCreateRecursiveMutex(); if (!client->api_lock) { free(client->event.error_handle); free(client); @@ -682,7 +678,7 @@ esp_err_t esp_mqtt_client_set_uri(esp_mqtt_client_handle_t client, const char *u } // This API could be also executed when client is active (need to protect config fields) - MQTT_API_LOCK_FROM_OTHER_TASK(client); + MQTT_API_LOCK(client); // set uri overrides actual scheme, host, path if configured previously free(client->config->scheme); free(client->config->host); @@ -720,7 +716,7 @@ esp_err_t esp_mqtt_client_set_uri(esp_mqtt_client_handle_t client, const char *u free(user_info); } - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return ESP_OK; } @@ -1319,10 +1315,10 @@ esp_err_t esp_mqtt_client_start(esp_mqtt_client_handle_t client) ESP_LOGE(TAG, "Client was not initialized"); return ESP_ERR_INVALID_ARG; } - MQTT_API_LOCK_FROM_OTHER_TASK(client); + MQTT_API_LOCK(client); if (client->state >= MQTT_STATE_INIT) { ESP_LOGE(TAG, "Client has started"); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return ESP_FAIL; } esp_err_t err = ESP_OK; @@ -1339,7 +1335,7 @@ esp_err_t esp_mqtt_client_start(esp_mqtt_client_handle_t client) err = ESP_FAIL; } #endif - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return err; } @@ -1365,7 +1361,7 @@ esp_err_t esp_mqtt_client_reconnect(esp_mqtt_client_handle_t client) esp_err_t esp_mqtt_client_stop(esp_mqtt_client_handle_t client) { - MQTT_API_LOCK_FROM_OTHER_TASK(client); + MQTT_API_LOCK(client); if (client->run) { // Only send the disconnect message if the client is connected if(client->state == MQTT_STATE_CONNECTED) { @@ -1373,7 +1369,7 @@ esp_err_t esp_mqtt_client_stop(esp_mqtt_client_handle_t client) client->mqtt_state.outbound_message = mqtt_msg_disconnect(&client->mqtt_state.mqtt_connection); if (client->mqtt_state.outbound_message->length == 0) { ESP_LOGE(TAG, "Disconnect message cannot be created"); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return ESP_FAIL; } if (mqtt_write_data(client) != ESP_OK) { @@ -1383,12 +1379,12 @@ esp_err_t esp_mqtt_client_stop(esp_mqtt_client_handle_t client) client->run = false; client->state = MQTT_STATE_UNKNOWN; - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); xEventGroupWaitBits(client->status_bits, STOPPED_BIT, false, true, portMAX_DELAY); return ESP_OK; } else { ESP_LOGW(TAG, "Client asked to stop, but was not started"); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return ESP_FAIL; } } @@ -1411,10 +1407,10 @@ static esp_err_t esp_mqtt_client_ping(esp_mqtt_client_handle_t client) int esp_mqtt_client_subscribe(esp_mqtt_client_handle_t client, const char *topic, int qos) { - MQTT_API_LOCK_FROM_OTHER_TASK(client); + MQTT_API_LOCK(client); if (client->state != MQTT_STATE_CONNECTED) { ESP_LOGE(TAG, "Client has not connected"); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return -1; } client->mqtt_state.outbound_message = mqtt_msg_subscribe(&client->mqtt_state.mqtt_connection, @@ -1432,20 +1428,20 @@ int esp_mqtt_client_subscribe(esp_mqtt_client_handle_t client, const char *topic if (mqtt_write_data(client) != ESP_OK) { ESP_LOGE(TAG, "Error to subscribe topic=%s, qos=%d", topic, qos); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return -1; } ESP_LOGD(TAG, "Sent subscribe topic=%s, id: %d, type=%d successful", topic, client->mqtt_state.pending_msg_id, client->mqtt_state.pending_msg_type); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return client->mqtt_state.pending_msg_id; } int esp_mqtt_client_unsubscribe(esp_mqtt_client_handle_t client, const char *topic) { - MQTT_API_LOCK_FROM_OTHER_TASK(client); + MQTT_API_LOCK(client); if (client->state != MQTT_STATE_CONNECTED) { - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); ESP_LOGE(TAG, "Client has not connected"); return -1; } @@ -1465,12 +1461,12 @@ int esp_mqtt_client_unsubscribe(esp_mqtt_client_handle_t client, const char *top if (mqtt_write_data(client) != ESP_OK) { ESP_LOGE(TAG, "Error to unsubscribe topic=%s", topic); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return -1; } ESP_LOGD(TAG, "Sent Unsubscribe topic=%s, id: %d, successful", topic, client->mqtt_state.pending_msg_id); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return client->mqtt_state.pending_msg_id; } @@ -1488,7 +1484,7 @@ int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, len = strlen(data); } - MQTT_API_LOCK_FROM_OTHER_TASK(client); + MQTT_API_LOCK(client); mqtt_message_t *publish_msg = mqtt_msg_publish(&client->mqtt_state.mqtt_connection, topic, data, len, qos, retain, @@ -1496,7 +1492,7 @@ int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, if (publish_msg->length == 0) { ESP_LOGE(TAG, "Publish message cannot be created"); - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return -1; } /* We have to set as pending all the qos>0 messages */ @@ -1573,14 +1569,14 @@ int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, outbox_set_tick(client->outbox, pending_msg_id, platform_tick_get_ms()); outbox_set_pending(client->outbox, pending_msg_id, TRANSMITTED); } - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return pending_msg_id; cannot_publish: if (qos == 0) { ESP_LOGW(TAG, "Publish: Losing qos0 data when client not connected"); } - MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + MQTT_API_UNLOCK(client); return ret; } From f7941e29beae2b426d4a7ec5f95e58fed7a96762 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Fri, 17 Jan 2020 14:13:59 +0100 Subject: [PATCH 06/10] mqtt_outbox: fixed outbox_destroy() to correctly delete all queued messages Closes https://github.com/espressif/esp-idf/issues/4643 Closes IDFGH-2558 Closes https://github.com/espressif/esp-mqtt/issues/148 Closes IDFGH-2599 Closes https://github.com/espressif/esp-mqtt/issues/147 Closes IDFGH-2598 --- lib/mqtt_outbox.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/mqtt_outbox.c b/lib/mqtt_outbox.c index 1723fb9..4ba4b76 100644 --- a/lib/mqtt_outbox.c +++ b/lib/mqtt_outbox.c @@ -199,7 +199,12 @@ esp_err_t outbox_cleanup(outbox_handle_t outbox, int max_size) void outbox_destroy(outbox_handle_t outbox) { - outbox_cleanup(outbox, 0); + outbox_item_handle_t item, tmp; + STAILQ_FOREACH_SAFE(item, outbox, next, tmp) { + STAILQ_REMOVE(outbox, item, outbox_item, next); + free(item->buffer); + free(item); + } free(outbox); } From ed90a645512a4baf09a97e8e5fe9b1b27cbe4cf5 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Fri, 17 Jan 2020 20:32:32 +0100 Subject: [PATCH 07/10] client: queued oversized messaged even if not connected --- mqtt_client.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/mqtt_client.c b/mqtt_client.c index 31120d5..23af0a1 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -1496,8 +1496,8 @@ int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, return -1; } /* We have to set as pending all the qos>0 messages */ + client->mqtt_state.outbound_message = publish_msg; if (qos > 0) { - client->mqtt_state.outbound_message = publish_msg; client->mqtt_state.pending_msg_type = mqtt_get_type(client->mqtt_state.outbound_message->data); client->mqtt_state.pending_msg_id = pending_msg_id; client->mqtt_state.pending_publish_qos = qos; @@ -1505,9 +1505,10 @@ int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, // by default store as QUEUED (not transmitted yet) only for messages which would fit outbound buffer if (client->mqtt_state.mqtt_connection.message.fragmented_msg_total_length == 0) { mqtt_enqueue(client); + } else { + int first_fragment = client->mqtt_state.outbound_message->length - client->mqtt_state.outbound_message->fragmented_msg_data_offset; + mqtt_enqueue_oversized(client, ((uint8_t *)data) + first_fragment, len - first_fragment); } - } else { - client->mqtt_state.outbound_message = publish_msg; } /* Skip sending if not connected (rely on resending) */ @@ -1530,22 +1531,14 @@ int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, } int data_sent = client->mqtt_state.outbound_message->length - client->mqtt_state.outbound_message->fragmented_msg_data_offset; + client->mqtt_state.outbound_message->fragmented_msg_data_offset = 0; + client->mqtt_state.outbound_message->fragmented_msg_total_length = 0; remaining_len -= data_sent; current_data += data_sent; if (remaining_len > 0) { mqtt_connection_t *connection = &client->mqtt_state.mqtt_connection; ESP_LOGD(TAG, "Sending fragmented message, remains to send %d bytes of %d", remaining_len, len); - if (connection->message.fragmented_msg_data_offset) { - // asked to enqueue oversized message (first time only) - connection->message.fragmented_msg_data_offset = 0; - connection->message.fragmented_msg_total_length = 0; - if (qos > 0) { - // internally enqueue all big messages, as they dont fit 'pending msg' structure - mqtt_enqueue_oversized(client, (uint8_t *)current_data, remaining_len); - } - } - if (remaining_len > connection->buffer_length) { // Continue with sending memcpy(connection->buffer, current_data, connection->buffer_length); @@ -1573,10 +1566,13 @@ int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, return pending_msg_id; cannot_publish: + // clear out possible fragmented publish if failed or skipped + client->mqtt_state.outbound_message->fragmented_msg_total_length = 0; if (qos == 0) { ESP_LOGW(TAG, "Publish: Losing qos0 data when client not connected"); } MQTT_API_UNLOCK(client); + return ret; } From bbcf078a2bcb10c5599b30f4a35cbfcf9b2ab2f0 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Sun, 19 Jan 2020 22:01:44 +0100 Subject: [PATCH 08/10] fix possible double free of client config if init fails --- mqtt_client.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mqtt_client.c b/mqtt_client.c index 23af0a1..f646669 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -402,8 +402,8 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl // Set uri at the end of config to override separately configured uri elements if (config->uri) { if (esp_mqtt_client_set_uri(client, cfg->uri) != ESP_OK) { - esp_mqtt_destroy_config(client); - return ESP_FAIL; + err = ESP_FAIL; + goto _mqtt_set_config_failed; } } @@ -419,6 +419,9 @@ _mqtt_set_config_failed: static esp_err_t esp_mqtt_destroy_config(esp_mqtt_client_handle_t client) { mqtt_config_storage_t *cfg = client->config; + if (cfg == NULL) { + return ESP_ERR_INVALID_STATE; + } free(cfg->host); free(cfg->uri); free(cfg->path); @@ -441,6 +444,7 @@ static esp_err_t esp_mqtt_destroy_config(esp_mqtt_client_handle_t client) #endif memset(cfg, 0, sizeof(mqtt_config_storage_t)); free(client->config); + client->config = NULL; return ESP_OK; } From 420441b677388ef493c00d47bb5ad340f0f6c0dd Mon Sep 17 00:00:00 2001 From: David Cermak Date: Sun, 19 Jan 2020 22:28:35 +0100 Subject: [PATCH 09/10] set separate ssl connection properties before transport connect --- lib/include/platform_esp32_idf.h | 6 ++ mqtt_client.c | 157 ++++++++++++++++++++----------- 2 files changed, 106 insertions(+), 57 deletions(-) diff --git a/lib/include/platform_esp32_idf.h b/lib/include/platform_esp32_idf.h index 1054a18..c3edb9f 100644 --- a/lib/include/platform_esp32_idf.h +++ b/lib/include/platform_esp32_idf.h @@ -32,4 +32,10 @@ void ms_to_timeval(int timeout_ms, struct timeval *tv); ESP_LOGE(TAG,"%s:%d (%s): %s", __FILE__, __LINE__, __FUNCTION__, "Memory exhausted"); \ action; \ } + +#define ESP_OK_CHECK(TAG, a, action) if ((a) != ESP_OK) { \ + ESP_LOGE(TAG,"%s:%d (%s): %s", __FILE__, __LINE__, __FUNCTION__, "Failed with non ESP_OK err code"); \ + action; \ + } + #endif diff --git a/mqtt_client.c b/mqtt_client.c index f646669..d54281f 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -7,7 +7,6 @@ #include "esp_transport_tcp.h" #include "esp_transport_ssl.h" #include "esp_transport_ws.h" -#include "platform.h" #include "mqtt_outbox.h" #include "mqtt_supported_features.h" @@ -53,9 +52,7 @@ typedef struct mqtt_state typedef struct { mqtt_event_callback_t event_handle; -#ifdef MQTT_SUPPORTED_FEATURE_EVENT_LOOP esp_event_loop_handle_t event_loop_handle; -#endif int task_stack; int task_prio; char *uri; @@ -72,6 +69,14 @@ typedef struct { int num_alpn_protos; char *clientkey_password; int clientkey_password_len; + bool use_global_ca_store; + const char *cacert_buf; + size_t cacert_bytes; + const char *clientcert_buf; + size_t clientcert_bytes; + const char *clientkey_buf; + size_t clientkey_bytes; + const struct psk_key_hint *psk_hint_key; } mqtt_config_storage_t; typedef enum { @@ -109,15 +114,6 @@ struct esp_mqtt_client { TaskHandle_t task_handle; }; -enum esp_mqtt_ssl_cert_key_api { - MQTT_SSL_DATA_API_CA_CERT, - MQTT_SSL_DATA_API_CA_CERT_PEM, - MQTT_SSL_DATA_API_CLIENT_CERT, - MQTT_SSL_DATA_API_CLIENT_CERT_PEM, - MQTT_SSL_DATA_API_CLIENT_KEY, - MQTT_SSL_DATA_API_CLIENT_KEY_PEM, -}; - const static int STOPPED_BIT = BIT0; const static int RECONNECT_BIT = BIT1; const static int DISCONNECT_BIT = BIT2; @@ -131,32 +127,44 @@ static esp_err_t esp_mqtt_client_ping(esp_mqtt_client_handle_t client); static char *create_string(const char *ptr, int len); static int mqtt_message_receive(esp_mqtt_client_handle_t client, int read_poll_timeout_ms); -static inline esp_err_t esp_mqtt_set_cert_key_data(esp_transport_handle_t ssl, enum esp_mqtt_ssl_cert_key_api what, const char *cert_key_data, int cert_key_len) +#if MQTT_ENABLE_SSL +enum esp_mqtt_ssl_cert_key_api { + MQTT_SSL_DATA_API_CA_CERT, + MQTT_SSL_DATA_API_CLIENT_CERT, + MQTT_SSL_DATA_API_CLIENT_KEY, + MQTT_SSL_DATA_API_MAX, +}; + +static esp_err_t esp_mqtt_set_cert_key_data(esp_transport_handle_t ssl, enum esp_mqtt_ssl_cert_key_api what, const char *cert_key_data, int cert_key_len) { char *data = (char *)cert_key_data; + int ssl_transport_api_id = what; int len = cert_key_len; + if (!data) { return ESP_OK; } if (len == 0) { - what += 1; + // if length not specified, expect 0-terminated PEM string + // and the original transport_api_id (by convention after the last api_id in the enum) + ssl_transport_api_id += MQTT_SSL_DATA_API_MAX; len = strlen(data); } #ifndef MQTT_SUPPORTED_FEATURE_DER_CERTIFICATES else { ESP_LOGE(TAG, "Explicit cert-/key-len is not available in IDF version %s", IDF_VER); - return ESP_FAIL; + return ESP_ERR_NOT_SUPPORTED; } #endif - // option to force the cert/key config to null (i.e. skip validation) when setting new config + // option to force the cert/key config to null (i.e. skip validation) when existing config updates if (0 == strcmp(data, "NULL")) { data = NULL; len = 0; } - switch (what) { + switch (ssl_transport_api_id) { #ifdef MQTT_SUPPORTED_FEATURE_DER_CERTIFICATES case MQTT_SSL_DATA_API_CA_CERT: esp_transport_ssl_set_cert_data_der(ssl, data, len); @@ -168,21 +176,74 @@ static inline esp_err_t esp_mqtt_set_cert_key_data(esp_transport_handle_t ssl, e esp_transport_ssl_set_client_key_data_der(ssl, data, len); break; #endif - case MQTT_SSL_DATA_API_CA_CERT_PEM: + case MQTT_SSL_DATA_API_CA_CERT + MQTT_SSL_DATA_API_MAX: esp_transport_ssl_set_cert_data(ssl, data, len); break; - case MQTT_SSL_DATA_API_CLIENT_CERT_PEM: + case MQTT_SSL_DATA_API_CLIENT_CERT + MQTT_SSL_DATA_API_MAX: esp_transport_ssl_set_client_cert_data(ssl, data, len); break; - case MQTT_SSL_DATA_API_CLIENT_KEY_PEM: + case MQTT_SSL_DATA_API_CLIENT_KEY + MQTT_SSL_DATA_API_MAX: esp_transport_ssl_set_client_key_data(ssl, data, len); break; default: - return ESP_FAIL; + return ESP_ERR_INVALID_ARG; } return ESP_OK; } +static esp_err_t esp_mqtt_set_ssl_transport_properties(esp_transport_list_handle_t transport_list, mqtt_config_storage_t *cfg) +{ + esp_transport_handle_t ssl = esp_transport_list_get_transport(transport_list, "mqtts"); + + if (cfg->use_global_ca_store == true) { + esp_transport_ssl_enable_global_ca_store(ssl); + } else { + ESP_OK_CHECK(TAG, esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CA_CERT, cfg->cacert_buf, cfg->cacert_bytes), + goto esp_mqtt_set_transport_failed); + } + + ESP_OK_CHECK(TAG, esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CLIENT_CERT, cfg->clientcert_buf, cfg->clientcert_bytes), + goto esp_mqtt_set_transport_failed); + ESP_OK_CHECK(TAG, esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CLIENT_KEY, cfg->clientkey_buf, cfg->clientkey_bytes), + goto esp_mqtt_set_transport_failed); + + if (cfg->clientkey_password && cfg->clientkey_password_len) { +#if defined(MQTT_SUPPORTED_FEATURE_CLIENT_KEY_PASSWORD) && MQTT_ENABLE_SSL + esp_transport_ssl_set_client_key_password(ssl, + cfg->clientkey_password, + cfg->clientkey_password_len); +#else + ESP_LOGE(TAG, "Password protected keys are not available in IDF version %s", IDF_VER); + goto esp_mqtt_set_transport_failed; +#endif + } + + if (cfg->psk_hint_key) { +#if defined(MQTT_SUPPORTED_FEATURE_PSK_AUTHENTICATION) && MQTT_ENABLE_SSL + esp_transport_ssl_set_psk_key_hint(ssl, cfg->psk_hint_key); +#else + ESP_LOGE(TAG, "PSK authentication is not available in IDF version %s", IDF_VER); + goto _mqtt_set_config_failed; +#endif + } + + if (cfg->alpn_protos) { +#if defined(MQTT_SUPPORTED_FEATURE_ALPN) && MQTT_ENABLE_SSL + ESP_LOGE(TAG, "%p", cfg->alpn_protos); + esp_transport_ssl_set_alpn_protocol(ssl, (const char **)cfg->alpn_protos); +#else + ESP_LOGE(TAG, "APLN is not available in IDF version %s", IDF_VER); + goto _mqtt_set_config_failed; +#endif + } + + return ESP_OK; + + esp_mqtt_set_transport_failed: + return ESP_FAIL; +} +#endif // MQTT_ENABLE_SSL + esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_client_config_t *config) { MQTT_API_LOCK(client); @@ -322,7 +383,7 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl cfg->reconnect_timeout_ms = MQTT_RECON_DEFAULT_MS; } - if(config->alpn_protos) { + if (config->alpn_protos) { for (int i = 0; i < cfg->num_alpn_protos; i++) { free(cfg->alpn_protos[i]); } @@ -343,17 +404,21 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl ESP_MEM_CHECK(TAG, cfg->alpn_protos[i], goto _mqtt_set_config_failed); } } - esp_transport_handle_t ssl = esp_transport_list_get_transport(client->transport_list, "mqtts"); + + // configure ssl related parameters + cfg->use_global_ca_store = config->use_global_ca_store; + cfg->cacert_buf = config->cert_pem; + cfg->cacert_bytes = config->cert_len; + cfg->clientcert_buf = config->client_cert_pem; + cfg->clientcert_bytes = config->client_cert_len; + cfg->clientkey_buf = config->client_key_pem; + cfg->clientkey_bytes = config->client_key_len; + cfg->psk_hint_key = config->psk_hint_key; if (config->clientkey_password && config->clientkey_password_len) { -#ifdef MQTT_SUPPORTED_FEATURE_CLIENT_KEY_PASSWORD - esp_transport_ssl_set_client_key_password(ssl, - config->clientkey_password, - config->clientkey_password_len); -#else - ESP_LOGE(TAG, "Password protected keys are not available in IDF version %s", IDF_VER); - goto _mqtt_set_config_failed; -#endif + cfg->clientkey_password_len = config->clientkey_password_len; + cfg->clientkey_password = malloc(cfg->clientkey_password_len); + memcpy(cfg->clientkey_password, config->clientkey_password, cfg->clientkey_password_len); } if (config->transport) { @@ -373,32 +438,6 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl } } - if (config->use_global_ca_store == true) { - esp_transport_ssl_enable_global_ca_store(ssl); - } else { - esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CA_CERT, config->cert_pem, config->cert_len); - } - - esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CLIENT_CERT, config->client_cert_pem, config->client_cert_len); - esp_mqtt_set_cert_key_data(ssl, MQTT_SSL_DATA_API_CLIENT_KEY, config->client_key_pem, config->client_key_len); - - if (config->psk_hint_key) { -#ifdef MQTT_SUPPORTED_FEATURE_PSK_AUTHENTICATION - esp_transport_ssl_set_psk_key_hint(ssl, config->psk_hint_key); -#else - ESP_LOGE(TAG, "PSK authentication is not available in IDF version %s", IDF_VER); - goto _mqtt_set_config_failed; -#endif - } - - if (cfg->alpn_protos) { -#ifdef MQTT_SUPPORTED_FEATURE_ALPN - esp_transport_ssl_set_alpn_protocol(ssl, (const char **)cfg->alpn_protos); -#else - ESP_LOGE(TAG, "APLN is not available in IDF version %s", IDF_VER); - goto _mqtt_set_config_failed; -#endif - } // Set uri at the end of config to override separately configured uri elements if (config->uri) { if (esp_mqtt_client_set_uri(client, cfg->uri) != ESP_OK) { @@ -592,6 +631,7 @@ esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *co esp_transport_set_default_port(wss, MQTT_WSS_DEFAULT_PORT); esp_transport_list_add(client->transport_list, wss, "wss"); #endif + ESP_MEM_CHECK(TAG, client->transport_list, goto _mqtt_init_failed); if (esp_mqtt_set_config(client, config) != ESP_OK) { goto _mqtt_init_failed; @@ -1187,6 +1227,9 @@ static void esp_mqtt_task(void *pv) ESP_LOGE(TAG, "There is no transport"); client->run = false; } +#if MQTT_ENABLE_SSL + esp_mqtt_set_ssl_transport_properties(client->transport_list, client->config); +#endif if (esp_transport_connect(client->transport, client->config->host, From 2994c3f273a28540bf7632ca8c0fb808081b0e0a Mon Sep 17 00:00:00 2001 From: David Cermak Date: Sat, 25 Jan 2020 21:40:08 +0100 Subject: [PATCH 10/10] receive longer (websocket) data with standard tcp_transport reads closes IDF-1084 --- mqtt_client.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mqtt_client.c b/mqtt_client.c index d54281f..63dcd12 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -854,15 +854,13 @@ post_data_event: esp_mqtt_dispatch_event(client); if (msg_read_len < msg_total_len) { - // if total data is longer then actual -> read payload only size_t buf_len = client->mqtt_state.in_buffer_length; - esp_transport_handle_t transport = esp_transport_get_payload_transport_handle(client->transport); msg_data = (char *)client->mqtt_state.in_buffer; msg_topic = NULL; msg_topic_len = 0; msg_data_offset += msg_data_len; - msg_data_len = esp_transport_read(transport, (char *)client->mqtt_state.in_buffer, + msg_data_len = esp_transport_read(client-> transport, (char *)client->mqtt_state.in_buffer, msg_total_len - msg_read_len > buf_len ? buf_len : msg_total_len - msg_read_len, client->config->network_timeout_ms); if (msg_data_len <= 0) { @@ -968,8 +966,6 @@ static int mqtt_message_receive(esp_mqtt_client_handle_t client, int read_poll_t buf++; client->mqtt_state.in_buffer_read_len++; } - /* any further reading only the underlying payload */ - t = esp_transport_get_payload_transport_handle(t); if ((client->mqtt_state.in_buffer_read_len == 1) || ((client->mqtt_state.in_buffer_read_len < 6) && (*(buf - 1) & 0x80))) { do {