From 26f5ad935c19a96512e14026b981bbd1a3c20eee Mon Sep 17 00:00:00 2001 From: Xavier Chapron Date: Fri, 5 Jan 2024 16:54:06 +0100 Subject: [PATCH 1/2] src: Add missing UX_WAKE_UP calls for FIDO2 UX requests --- src/ctap2_get_assertion_flow.c | 2 ++ src/ctap2_make_credential_flow.c | 2 ++ src/ctap2_reset_flow.c | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/src/ctap2_get_assertion_flow.c b/src/ctap2_get_assertion_flow.c index b058e4da..772f1902 100644 --- a/src/ctap2_get_assertion_flow.c +++ b/src/ctap2_get_assertion_flow.c @@ -391,6 +391,8 @@ void ctap2_get_assertion_ux(ctap2_ux_state_t state) { ctap2UxState = state; + UX_WAKE_UP(); + #if defined(HAVE_BAGL) ux_step = 0; #elif defined(HAVE_NBGL) diff --git a/src/ctap2_make_credential_flow.c b/src/ctap2_make_credential_flow.c index b9a282dd..7b58027a 100644 --- a/src/ctap2_make_credential_flow.c +++ b/src/ctap2_make_credential_flow.c @@ -155,6 +155,8 @@ void ctap2_make_credential_ux(void) { ctap2_ux_get_display_user(); + UX_WAKE_UP(); + #if defined(HAVE_BAGL) ux_flow_init(0, (ctap2RegisterData->residentKey ? ux_ctap2_make_cred_resident_flow diff --git a/src/ctap2_reset_flow.c b/src/ctap2_reset_flow.c index 81eaf4bc..964577a2 100644 --- a/src/ctap2_reset_flow.c +++ b/src/ctap2_reset_flow.c @@ -66,6 +66,8 @@ UX_FLOW(ux_ctap2_reset_flow, void ctap2_reset_ux(void) { ctap2UxState = CTAP2_UX_STATE_RESET; + UX_WAKE_UP(); + ux_flow_init(0, ux_ctap2_reset_flow, NULL); } @@ -75,6 +77,8 @@ void ctap2_reset_ux(void) { void ctap2_reset_ux(void) { ctap2UxState = CTAP2_UX_STATE_RESET; + UX_WAKE_UP(); + io_seproxyhal_play_tune(TUNE_LOOK_AT_ME); nbgl_useCaseChoice(&C_warning64px, From 15103ce73c8b1bdb555adb91c5f017d5abec1a72 Mon Sep 17 00:00:00 2001 From: Xavier Chapron Date: Fri, 5 Jan 2024 16:56:20 +0100 Subject: [PATCH 2/2] Bump version to 1.5.1 --- Makefile | 2 +- .../test_fido_screens_settings/00002.png | Bin 324 -> 323 bytes .../nanos/test_u2f_screens_idle/00002.png | Bin 324 -> 323 bytes .../test_fido_screens_settings/00002.png | Bin 352 -> 353 bytes .../nanosp/test_u2f_screens_idle/00002.png | Bin 352 -> 353 bytes .../test_fido_screens_settings/00002.png | Bin 352 -> 353 bytes .../nanox/test_u2f_screens_idle/00002.png | Bin 352 -> 353 bytes .../stax/test_fido_screens_settings/00001.png | Bin 11534 -> 11396 bytes .../stax/test_u2f_screens_idle/00001.png | Bin 11534 -> 11396 bytes 9 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 97f389f8..7f93bde4 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ PATH_APP_LOAD_PARAMS += "5262163'" # int("PKS".encode("ascii").hex(), 16) APPVERSION_M=1 APPVERSION_N=5 -APPVERSION_P=0 +APPVERSION_P=1 APPVERSION=$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P) ICON_NANOS=icons/icon_security_key_nanos.gif diff --git a/tests/speculos/snapshots/nanos/test_fido_screens_settings/00002.png b/tests/speculos/snapshots/nanos/test_fido_screens_settings/00002.png index 7d0f2d76c07de8bc2425d13af85c52e45975dbe4..a01092340ac7b1ff82060a2ea0727ebbb2b04e5c 100644 GIT binary patch delta 296 zcmV+@0oVS-0>c83B!3D?L_t(|ob8!Q4#OY}M4hU+|ADih3o6SZF|@S8<96N(@rkS% z#{nWj2qA=oQ4T4`Mf<}?CE*?&z*pJ!=m_2h*Z`Z$RoQaLwmU1f`93*02t7rFIi(1q`pHS zOVI05diCeriE0mq0jf^ZsHMrltZ2RbB4CJNy3vflI`pdYGn(8lx9z?<_ z6iL4Cu(uP{ZD?l{4Zx5F)QCNaCsu)haS-b;cZSMy^1{9g8iI7OJV#~&&iDQafiFS7 u4h;wlE4B!3G@L_t(|ob8#-4ue1lgt4jb|G*yfuni$7thJ3hnE6hd{V`;Q zQd~s{A%u`&tc$G6!T85V72!QPfWI=$qa*klU;}I}H)YpFruj3k1Ghnp4Z6Y3*n!XX&k(cV{GP+k2Gz00000NkvXXu0mjfBg%+x diff --git a/tests/speculos/snapshots/nanos/test_u2f_screens_idle/00002.png b/tests/speculos/snapshots/nanos/test_u2f_screens_idle/00002.png index 7d0f2d76c07de8bc2425d13af85c52e45975dbe4..a01092340ac7b1ff82060a2ea0727ebbb2b04e5c 100644 GIT binary patch delta 296 zcmV+@0oVS-0>c83B!3D?L_t(|ob8!Q4#OY}M4hU+|ADih3o6SZF|@S8<96N(@rkS% z#{nWj2qA=oQ4T4`Mf<}?CE*?&z*pJ!=m_2h*Z`Z$RoQaLwmU1f`93*02t7rFIi(1q`pHS zOVI05diCeriE0mq0jf^ZsHMrltZ2RbB4CJNy3vflI`pdYGn(8lx9z?<_ z6iL4Cu(uP{ZD?l{4Zx5F)QCNaCsu)haS-b;cZSMy^1{9g8iI7OJV#~&&iDQafiFS7 u4h;wlE4B!3G@L_t(|ob8#-4ue1lgt4jb|G*yfuni$7thJ3hnE6hd{V`;Q zQd~s{A%u`&tc$G6!T85V72!QPfWI=$qa*klU;}I}H)YpFruj3k1Ghnp4Z6Y3*n!XX&k(cV{GP+k2Gz00000NkvXXu0mjfBg%+x diff --git a/tests/speculos/snapshots/nanosp/test_fido_screens_settings/00002.png b/tests/speculos/snapshots/nanosp/test_fido_screens_settings/00002.png index 8f21a1a324cf67a2af998d1341fc56d9d66fecb6..a6aa451f3bdf58dd13821e4b9f08f42752ff53e8 100644 GIT binary patch delta 326 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 literal 11534 zcmc(Fdo+}7-}Z=5L}eR7*`$ok*oR1^l1-^>hU{)eVGP+1h7j&VLJbnyA$!JVFpOOd z8cf*@#u#P48Dn!Z81!B}-OszeZ>{fJ?^@sUJ@0${bFFo*^E|Kfx~}tg{Ep)|e@|{% zTsv}D>@WxfI%0DD%54yc?Kuc^;0^Zyphfp)V=)K>9yGaPbT{NRoyvIm4o~S=?MBtI z)pF!>fZ0r2j#qPljZD8D|G=TZcH{Z+HyjKuvXB4TH0@2a-+2Z(=0a5hq-7;jmSd~o zp0cIj36O2$&#>TwAZPFao=0LF!XQm>W{~6C>7dYKwm!8K`c%9^0zB-TdA~Hb7!Np?!6Gki%xKg&!mCDx zd!3zdLPe0c4GWXh>y$6+jl}6cocP;S&HI}pe~P)fITM5Y@4=u$fppe>^0j=8egb$~ z#@+?%CSINtEUt8oNhPGxKktmw{S9)x?dqSEV)c<}C6)u6tKI zOOmGqcud^Y`Oc4Dlbdxl1#;#KI2{uS1m=orj6&Qtk$5MKQB(D2vR}>XtyhhWlC$ayWdI%{`TyNBQM(G+9QLcUBfKzOG}YfR)Z0hJ#5oO{p1Eq*E;JZOCevs% z*50^-4pD8p)mzczR3Ar$zx2{dm0o+xZdM;sH#2ptj9OzEFNOy`tzGwtRG1^cf978aS+S zk!LX*uJ`eq^Qu0>SH}%1AGz@K-2;smobJXqED`Trov-$VA#+6H-j?Kt4gTeDG&4o{-Vw-XCnS(m~gOd0Gcr9&MG+2BB5wA~z6?sF^Sv`boHMIzw`EAAScq3*oW^$-w zvNAL|wjkxJ&%3X)G3ys$#wtW)|`W9tmudwaS^L3OuuS1{b12E?2=IyESx~2+>bI&AdNIyo(C6V8W zD|;0?Wr`BO1jRy*6UF{@B0i^rkEs$uau|b!CL2Dh$lOPoOW`J(f7KKgU1Jkmm?}Mduk=R|TN8k$$T7*V9l~maj zDR}LHTW%QTx3fq~!7dUI-~O3kqHJj*BlSe!vn9X!v3ys(P)kA0@f-aE5gt}n%l1}QnxTIh9o0DJ-qH9& z$D)5g{yokN_g=&}h2>ED{OU$gktc7%Ha=1}Tda6u=zD0B*23%j`F6^Y7Eu8%bk>a| z><$M0CRw78EJ&-FAt@E|Kha_C}t zMY&e&dT+;{MMoZ*bhbzu2Q`W?RY$^EpAv{I~2yFXHx7)pIM*7o#fljy{PCA3H*}uSb!(e@@jqC2R%>tmJNtNmL~QR|$U5AD%FmrgaK(%fQZ5({i=M*} zCHT0Q8`9j-(yD~&_`w)y(TskGZ^RQUzxk21zkGe!gTa8)WJegx)O+mxf^g9zi6a8G zEtkyBKO7iEVAXcPM-(Yi5_7r$<-r$zV7L5nIC>(qN!U0A2DKEdrK4p{ECo@sr-5vx ze~yTub~Y3r0L^HbI&b5pIHI~+x-oEP{7106;o7bZrB&ru9Qqx`fQb!ddhFjgtt|zU z4i9(AR6L5!Slm?8%7Q0@xuZ8zd_=r%a@&?#XZ7U!TN_a#nrUz?Aaf!Zq?2BZMWIoc zm{3LVOVv_=gP?I(Sqp}%-aMhVeVh|r9XF+x4ko&NrS_KXr109kgn3+BBx0)78^dV~ zFF9|lJ<`-bkqRI`IQT8(p8OH;m#OuNlB@j0?7At;owCtrY0;by2w>NKeOM*%wcyqK zcv;L|XL}Y;OR{_8V!`ZU(arLX6c6Hq|YL8&lM8N$crm;wnsUT zIl+#ma~4tuSAv|+5fKwVWf~jw>6zytH=1QgBTObT><_LNcNkCvFQxXOm{Z#O1vZS|K|!yXAmE z%jp>xlUK4PYa1Iij^)8PYG~8`&Q9u`B*WAhD<^hyN1xXhINp4_w_dS)ItqZ^?DKN{ zg_|rCFjE1agP$(OXTZ!ca^i*Dqde#p=RA*d>c`=8z(0qLgf)we9RU#g~>@_UqNLX=*F~k*akQ!!G*g>|8T8S5+R?_CS7qA|qFiHd1X z)FTrYoy*Ecd})M73!zHLJwz;8)HO-n zT*NcDj3$udk7=4uFyJb%I$;Yh755!i%s#<&=NJCrsAUYQDld>hj&cY@Or`;7eE6E> z6=yagvq9Mf4J#g82sdb65@!p~IBRc6|KU?5!w{q#CIPp;Z{~jmP#I4TEbOwfTAiY8oRiPG9;~UUac$sho@_? zfAN9l4pVlbWW0;$s0j6w$DfnK%I@vT=6A5&?ccxhWv9S44_fEUZZ3+Ay`t@l+h+IV zUL{<(1;OrVx~qVsmhz$oM{Z#{kb=g@9H(-d;9Vl&jzmZH_dn7;JEZ&?j8;{aI@)eqrror(y`CuM6ZE7s>#Sdg-Z z6TBqW0oTh=`{`|FWd*wf$Qk{6kbY0g1I;58_Xgq{OgBY?Fr1Uk9eq(uMr|0LxQe1( zeT4efdnfQ(EFpcQ3++J(IL&+6o{c30{H*1|o22!nNILn#tx9R`3~5eV|7^J>x0|z> zk+aQkT|mqc+BWB2rXdI!fDoZErtkPYrf~bV|0q+Vxb4Kw>&l53e_IU+NUt2_p}g_v zSlmk3usXh#?I>o8@GoSPvLT#JWQuQw_rq{^NpV!)N^#4X0t8M z=t1_rBW(c!D;%Ug;6O_e63>X{-*xvtXk7rnu}2__0q=_gtP7$xemb)Yd=sF`XtHmwR^$n< zO}Fsc`X&*-oCX^Y(*+En6sc1MkHS`u9{z27*;=RHl9?Y-TFJcFG7BAgqX*)B^DiS8 z;Zv}LdFqF z>cH#o1&a1-w_xha-}C9Q(-7j#p;pm5Xc!c2badr|#KhVfzBG22tX@C5*$EyZYtEteYo?JlEXr0~Y_CVv~fxh`E$NM11K(0oAX zOrpI5ImsqkS|Q<*yvbhOifkZgGaui;=|6OAEN#{MYJc0j*mapRoa@Y#b{y;+y8!gguy zrO-SN&oe2{GUEr!V$8heUfZ!vymUVVZjKkfY-KePi=}u2Cgc@IJ);l7Gpq=Sj)xLN zE?C_Cupz53kRo?Uk*EETEDu0zOj{prM+TFrVq#Nbz{+InC4oh2 z+kK+LuDU;-MY_HNWW=V1<%ug&TRP_tf@uZR7M~isQt~39zWJTP6xcm9laOfRwEnfh9+3n+P+Ydy<1TZp(5snd7}VWt z1GwRr!;%PqRK`+Hxc<tP~TqwM7L2+YCAmYO)N?>e~yizMb>&Q=nc!;8tNJoi|bmHfe&HT|9(Jxx@ z3JFW(JdaVb^}&d@z*hK16?ad*Ph(Qa{Tem#0bwrM#}HV+=F!?%!Uk_1_HG_TeN(DE zd6eFQ85#KKe}7|41h(RMPdR<_Fu)bFV2Io7b>)3aH=iS}xrDihYb;BrD80R~U8P=ewJf^yrXH2^#)Ib1^M(`3RUAVO=1R=b zY^n6htC9<~2M4%IqWTX6d)Q1?4sfaxUPQs{FR&LhJ?oeZ1rilGNQ{}0!Fq_lEhTPd zY*|;pqnBmF{{ZM50eJ+;=Pgm?rJF_L>z6tvApol)!W%|ZJ!yQcoKAWb09{k{{7abr zb$B~`SzHB2ZkZ5^I@o>xhpGQqz=L~-ZO9t{-?)SIPVUwU5+mM+YN_76i_SY~klsd* z6pw-#X2CK!tX)@FY_+|>fk9F)6>-g(Z9UVV0)BCc$pQ{`mV@*%e{M4wP87+9q&bSZ zm)iOr#EnTu87f&UH5KL(%y*xaU|4t?4LhDrVscTdqJY3_a%2SI7!1bx_U^7ITIqX; z{xUO6J3WeqXhYf#wHUYM%+{RI)hv7XFxF*GdEVm5LZg)_%QJ@(SrCv}rs%Mvj6V^= z1XjKX*pyt#Jsu*6jwR~3dK;Y$E77fN_xj1X`G6b!)!&lS3U33smfFk{ElpbQ^*SUD zo%A~sOSz<5)yG$+84(dT*7iL>H}>aiivknG#xxQz)({f?JskV@p9!N)m9UViX;+mk0-1t==%!Pm zx=?=3BL#+kN^|EoWQQN+h;KJSTvhnl5Kare8FL^b0pAh6jW=AI=Y>Hzjigam>yPz3 z9{h8%Zv9GY5YD{+#f*?@d^vGiZ7}d0NL3M~1O_z=|34pSLR_6kWrnZb2++V&!*{4tk|8PQCD-Nn1(w1U=98!RI++m;tjzqRGZhV^PXstx*X3-i z22X^`U@O8cb7ozIBT~nd8hlElKEINyn5qK;fg2=#)LQ#L{HSE4EuE{t}VODnR-*?h#lfQHy=2gHY_wqMqYZ~wBoxh zv*^5kA%s4D2l7Z0<=o{$liYz21_GN#;CMX#7mcmiVKEt=HJ(z&ed8yP&wn{o@u1rH zGH>qMYp4271DXs(Q}vi~aBdtdtIfFaiAnRJ3TUS3i%mLK z&=_!qM|%jk1!-Ag$Qy|qO}Z$W*E#Un#V(bHu61_LUK7@se6BTJqUP^8&aeE?S>F9~ zV5*~azc-aN%w>L4Z%&!5l8T_v20v!J7_o(AStmijBSuMoc-v_TOG3G}Q4b;|Lb`#( zEg&}P+Rffk-wpSa=v%Yjw>`O37vee?C*z^h8)u5}{VDm_MQ05@-`SF?G;%&c<<#ly ze#(TFPp;_8ljIYMzbI`hC!oFC7Y`;vRz=YPxY76eed-HK$AEO9Pht@oB|pZ{QD)<8 z$dW0KYhzrsALxJW)wzY?=aN4gSaW@6?en;||Ip6x$`5N_+4}a_&CEvrvgWv$e>X2! z{gz)l-AP8#B(=vq4F*k>?R$*ONwhs<(kIz~PJ+ib!J>M-$0c1;WA(UZM%jHQ7eQu= zc~P3$Ch^kToN9UHgIZ&+#P9go3mRKl?d`G1jwR~*RqZ+OnvLl-2l|`s8BY*Oe);$f zQWLWbZN4H>tWvC%g;wbi|R0$u3hZx>&tFASkv6KqvurEmAbRH8K3-k_Z47DDtTldsX3>-r3$px#K)Iu(D`&h>^CLDr-X z84Ofv}(if3G6{4FRx45|rZPPHP&({OLB%R@zyQN-wLNsXbYK|Oy zz{U9$&&s2Dc2mB%&0_`;l0z9MIMFA&CDmiPa$v#y=j<=N?+tzlE)1zN!ny_Y~aStVMO+*O9P21v3uveYEACB5U8?-n& zpFQHOEcN0<4oV~nH&rW4kG(b&)zVg-&tDRiX$(<~_}f~4O#UFa`R|7{*QJ|B=;vq;ea3*Y5Q*Yuj(+w~ zbf806j`pqt5Z*fmsx_C&ATJD+NCRvcEfU%*X_6hu?cLcQ&bPdj@cA}!B)wT8saJkQ z81O!Z5m-D!D!C)f&{i;Z>_gQ0k8-SC>Cj@JtJoDwL4X68q1q2kK>T|GZuSotOuOtB ze8Gep-9MWBpE9VI6@;7aRke+V5-Q%@MZ--mUmc?DF?ZQMUi=?EXZ=^@(|=Q8(tlwo|7&mYKW~*sjypuL zfYX>sHA}&!H}VWkcRlbC7A!M>o(`}k%#@hnPw|SW8u6QxDXNKk7&9K43eS-eJS_%d zg_@}{ZEpYzEUqa(WR4t=uit| z;*MwG>|Jy{{wa5f4dNASnX_`Lp~t&x5&!GvvA93e5=x%29YxsMp~hhz6c>*TWcoBb zKA00tJ=|P-;As)T59}5L{vbxIe0*drr^T-AmAy|%_q*Emz6vMwe3SU>5p`<%CdIjU z^~ZTlQwpDHdjvE;m@cxq&|){^)4s@TRm1-7o0PfHr~I~LJT+3t@lN}+Pkf$BGq`^d zJG^LTdoDu!Lul1L^;YFcbR6*7D#I#AR1SlUn~zj2vl|1;8df3x^`kq~*twA9o#7$% z@$U!OxDPEwE`~ot&HEjU*S@Wd4QTdKsv?m zZHI0p6XLyp4=G6k+W`f983q*wYa}vzq=tdt?{&<0xqWLp@P_ayYNIt0zr6GQEkbXu z>C$u+)3lvTCgX}#hs=JB-J&`?KRYtAM8(BK2=JPE;VQ=?PHc8`S)3+<)#lpdyhw~ScC#)iHR;sJ=M)+&G+F~ zoOp_TXyLx|I872{=_8vSv+3E%FZZkTlhQhVdB1< zEw@oAqmN(OH2pJXGs+*h6nce_2I{P^zuU^^c@sne4+-sAbT@1W{T(uj{a+gW>|zpV zPekA-p??N0w$J3?&jC=|W=K_HdGngK z!dT!^0|us=UQxZ%Nc5|1&tf-i^z#Sb@5d_DBmC{x8dQGWMjKR4S9}`Fa`(u>C;xAN z3Lxz_(fRQI0|r0k0e=gQb~m%i-CpXeP$qtAXe3@@Cx-41tfi6>jU>I#y#PeUGSc(7 ztlKka{Km!Ws!1J({*eSkU{MDrv?p_x|E(p#`%+w2>(oibZ~g%4oIxhW7FWtHIY<8o DTdcF% diff --git a/tests/speculos/snapshots/stax/test_u2f_screens_idle/00001.png b/tests/speculos/snapshots/stax/test_u2f_screens_idle/00001.png index 4a9d76b154d8e506163773d98832facae8192b50..585fac3d3e059f10b17170d4a8c77935fb67e54c 100644 GIT binary patch literal 11396 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 literal 11534 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 DTdcF%