From e88f8cebc1b5353d979ee57f22a04e40752bfd66 Mon Sep 17 00:00:00 2001 From: Shreyas Sheth Date: Wed, 18 Oct 2023 17:10:29 +0530 Subject: [PATCH] feat(wifi): Add support for sae ext key for station (81bf2a6) --- esp32/libcore.a | Bin 4556 -> 4556 bytes esp32/libespnow.a | Bin 54894 -> 54894 bytes esp32/libmesh.a | Bin 980552 -> 980552 bytes esp32/libnet80211.a | Bin 1364560 -> 1365640 bytes esp32/libpp.a | Bin 565512 -> 565512 bytes esp32/libsmartconfig.a | Bin 187032 -> 187032 bytes esp32/libwapi.a | Bin 52866 -> 52866 bytes esp32c2/libcore.a | Bin 3986 -> 3986 bytes esp32c2/libespnow.a | Bin 58554 -> 58554 bytes esp32c2/libnet80211.a | Bin 948198 -> 949210 bytes esp32c2/libpp.a | Bin 471640 -> 471640 bytes esp32c2/libsmartconfig.a | Bin 192836 -> 192836 bytes esp32c3/libcore.a | Bin 3972 -> 3972 bytes esp32c3/libespnow.a | Bin 58554 -> 58554 bytes esp32c3/libmesh.a | Bin 1009184 -> 1009188 bytes esp32c3/libnet80211.a | Bin 1032030 -> 1033388 bytes esp32c3/libpp.a | Bin 478468 -> 478468 bytes esp32c3/libsmartconfig.a | Bin 192836 -> 192836 bytes esp32c3/libwapi.a | Bin 46634 -> 46634 bytes esp32c6/libcore.a | Bin 3972 -> 3972 bytes esp32c6/libespnow.a | Bin 58554 -> 58554 bytes esp32c6/libmesh.a | Bin 1009236 -> 1009236 bytes esp32c6/libnet80211.a | Bin 1215092 -> 1216468 bytes esp32c6/libpp.a | Bin 792786 -> 792786 bytes esp32c6/libsmartconfig.a | Bin 193392 -> 193392 bytes esp32c6/libwapi.a | Bin 46634 -> 46634 bytes esp32s2/libcore.a | Bin 4540 -> 4540 bytes esp32s2/libespnow.a | Bin 54686 -> 54686 bytes esp32s2/libmesh.a | Bin 971712 -> 971712 bytes esp32s2/libnet80211.a | Bin 1407222 -> 1408308 bytes esp32s2/libpp.a | Bin 620238 -> 620238 bytes esp32s2/libsmartconfig.a | Bin 184636 -> 184636 bytes esp32s2/libwapi.a | Bin 52522 -> 52522 bytes esp32s3/libcore.a | Bin 4820 -> 4820 bytes esp32s3/libespnow.a | Bin 54838 -> 54838 bytes esp32s3/libmesh.a | Bin 972028 -> 972028 bytes esp32s3/libnet80211.a | Bin 1225866 -> 1227280 bytes esp32s3/libpp.a | Bin 652716 -> 652716 bytes esp32s3/libsmartconfig.a | Bin 186040 -> 186040 bytes esp32s3/libwapi.a | Bin 52534 -> 52534 bytes 40 files changed, 0 insertions(+), 0 deletions(-) diff --git a/esp32/libcore.a b/esp32/libcore.a index 0679cd50a8566e7ec239bd817ea7bc99b431de7f..0c42e0ebbebf967b240538f0065044c977273d6e 100644 GIT binary patch delta 24 fcmX@3d`5XgAS1hlVN#k=qS@q+JQ|xD7<~i)Y`F+3 delta 24 fcmX@3d`5XgAS1g$Qi`RyvBl(%JQ|xD7<~i)Ye5JB diff --git a/esp32/libespnow.a b/esp32/libespnow.a index 5c2c0ebc615352611220ff219d6aef702544dd3c..46492f992a2a7727619d42ccdd53794db1c93305 100644 GIT binary patch delta 22 ecmaF2hWXtZ<_%@6>=uSeX-0`=n`>D=UH|}XHVIt- delta 22 ecmaF2hWXtZ<_%@6>;_3GmgdG5n`>D=UH|}WVhJ<= diff --git a/esp32/libmesh.a b/esp32/libmesh.a index 3b327fe80ffd696a429ef5ea29297840b69419e3..1f052e9a44e45baef13c0cc37418d5638fdc7956 100644 GIT binary patch delta 1335 zcmX|BO=ulO9M8_A?PmMl19|%rlD3+>zCzQMupcwCI}|+FgSV(>58KWAXqUY1#_Xma zpa&^5AP9wmb5ii2pn^m!E`oyILJpEAUV15{w3kq8MQ9IR{Ljp;hhb;uKmX6)?>DO@Gscg%Zx!XO!Z`fF@I`z9wGns4QrB!_ z9#Szmk8B)prYtxJ^#%oj_-dQH$9WMAuMg8A zN(MdGku!SSY)`|^m-ACQPtL1-#C7B>KU^|92#oS;u-Za6kta4HybeGD@ye5?bR$$< zw=wbcElgamy6)6jd|$6jJ)}GuC22g4@?vxA z%9ZgDOm6r|&zzH_19w1OQ;q2&j6f`QO@?vrs{IElZOE zVAYVi4tIUAx^JEIYx^+28s%GSQ8ENzxZ_W)4B{eQ0mKIh?1s^1o+n@mxhFo|w@yJd z0Kx3Z3fhhAe`qB^;39*m|G96?!$r_Y2m34#uK@*5RT($4tbksDVgtn~aPdJC?@Yjj zi}i`Mpr^>W>KE~_nyM=fez)efA5N_D;pF%urrO6GFp*=HLIdPF$f=-#v{G-FF?|5Y z?w>~;M5&~JEsle-Fd@ol8;X6v9hYz4pJ|l$XPO^9Ftj7)w9+)lUP&1ETgl(4aw|T< zGXN}-yqFIHqNxv>xf&HWqfwlUqkdY5pUuWRssq-wGv%)sFWoT@&IrqJx%JZmqE7kZQtL2=bNQyo oK0pkfd|7UncfV}Cd=ru?p#$GOd)9hY{z3+j7cKvI)+&zu2Z@)2O8@`> delta 1333 zcmX|BO=ulO9M8_awwq_(lk#?7Ffp3c6`D4Lne5Ka422%-!CSOm1=r2{XqUX~#_Xma zpa&^5APAL$b5ii2Pz8xt+=~ajg&s;Cdht?F+e@kS<6sZH_@9}59)|h&fB%2K{~SCz zbMWZQ{=4fA-slS!@Tr?OzVvVY^`7(X{`$eo)~#z-%j#-rJ^W7o=*+lCVEN6s>B+?t zj@uASgfdw{9h>pVfl>W}BB2yr6h(4;8o7v?yH7cuTHPp$)qJ~5^UN1CWai;gGTI%e zdt^LNtV7zNAl2m+boTA~iiP~_j{T<0PdUrg>mQ<5vRXh`b?YhW-_-%-TPtW5ah;8; z)0O+vGtXA<+_CSzX6X=az^Dm5%Ja>5nD4~d<;}R4?`EYhLRKeQ^pY$t)2%@Pk5nFi z(CUKy(x2^2Zl7{a?uGLWSVv$Tg>|e7=bgsU`88ggt{8)G|Uk@f;cKL9KZ5CvLEorub@ zqfXd_2m&hqhFF%yKsh1+oPOaGT|!mcvY#bOcQS@DBy(v|#7D;Wk&$ zzXX*5%IePy1MQ+zy4~j25l?P(h>kQU=l0{k?V)e=YxrS zP+W|Q-HkXM04M^Jsnvc`CaZvTKZVmE-YJR{L>w6Z$zgLr1@9~ZD!c}EJO3Y8MGjDn z2$p{wHlMTB6!ldr1Ay>F7?*`Q>Q0`QP%jXyuNehK0r27c7>tm+99y-*U#IY#rAGb&s4XkTOa&lBru3(4h1nu!7QoKN7w{~nde4C-0%Pa9PNk?%{4HFBM4-eHoZB}Ov0MA(rtx4?C`FYf&(1Zvh_dSBgVvLC7M6?4?O7|T_;UOEITZ5h-*fGUiF{+p=`=)0 oB2zzBpUSoB#ux1;ud3#NBNP$&>Ereb2q4n;AgF$R+%Av(2SVhAYXATM diff --git a/esp32/libnet80211.a b/esp32/libnet80211.a index 23a98aec9805e386639baab0d899cfaf80ad49e3..d50006e8d08470dcc573ede6cfda3b14958736e9 100644 GIT binary patch delta 80209 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