From 8c60342f051981e8d84f3b300b28ef285dee2113 Mon Sep 17 00:00:00 2001 From: Charles-Edouard de la Vergne Date: Thu, 14 Mar 2024 16:05:46 +0100 Subject: [PATCH 1/4] Revert "Add few buffer checks" Causing issue with secp256r1 curve! This reverts commit 7b7bd27fa3b70cff979813b1d00ca14cfb94a77a. --- src/gpg_pso.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/gpg_pso.c b/src/gpg_pso.c index c792a88..82d4b24 100644 --- a/src/gpg_pso.c +++ b/src/gpg_pso.c @@ -321,15 +321,12 @@ int gpg_apdu_pso() { } key = &G_gpg_vstate.mse_dec->priv_key.ecfp; gpg_io_fetch_l(&l); - if (l != 37) { + gpg_io_fetch_tl(&t, &l); + if (t != 0x7f49) { return SW_WRONG_DATA; } gpg_io_fetch_tl(&t, &l); - if ((t != 0x7f49) || (l != 34)) { - return SW_WRONG_DATA; - } - gpg_io_fetch_tl(&t, &l); - if ((t != 0x86) || (l != 32)) { + if (t != 0x86) { return SW_WRONG_DATA; } From 6a587af35b00aa349665442c6cfdb7a36e83473c Mon Sep 17 00:00:00 2001 From: Charles-Edouard de la Vergne Date: Thu, 14 Mar 2024 16:05:15 +0100 Subject: [PATCH 2/4] Fix missing curve 'secp256k1' in the menus --- src/gpg_ux.h | 1 + src/gpg_ux_nanos.c | 5 +++++ src/gpg_ux_nanox.c | 6 ++++++ src/gpg_ux_nbgl.c | 41 ++++++++++++++++++++++++++++++++++------- 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/src/gpg_ux.h b/src/gpg_ux.h index fc7a63d..38b56fe 100644 --- a/src/gpg_ux.h +++ b/src/gpg_ux.h @@ -29,6 +29,7 @@ #define LABEL_RSA2048 "RSA 2048" #define LABEL_RSA3072 "RSA 3072" #define LABEL_RSA4096 "RSA 4096" +#define LABEL_SECP256K1 "SECP 256K1" #define LABEL_SECP256R1 "SECP 256R1" #define LABEL_Ed25519 "Ed25519" diff --git a/src/gpg_ux_nanos.c b/src/gpg_ux_nanos.c index 87255d9..c26692b 100644 --- a/src/gpg_ux_nanos.c +++ b/src/gpg_ux_nanos.c @@ -535,6 +535,7 @@ const ux_menu_entry_t ui_menu_tmpl_type[] = { #ifdef WITH_SUPPORT_RSA4096 {NULL, ui_menu_tmpl_type_action, 4096, NULL, LABEL_RSA4096, NULL, 0, 0}, #endif + {NULL, ui_menu_tmpl_type_action, CX_CURVE_SECP256K1, NULL, LABEL_SECP256K1, NULL, 0, 0}, {NULL, ui_menu_tmpl_type_action, CX_CURVE_SECP256R1, NULL, LABEL_SECP256R1, NULL, 0, 0}, {NULL, ui_menu_tmpl_type_action, CX_CURVE_Ed25519, NULL, LABEL_Ed25519, NULL, 0, 0}, {ui_menu_template, NULL, 0, &C_icon_back, "Back", NULL, 61, 40}, @@ -573,6 +574,9 @@ const bagl_element_t *ui_menu_template_predisplay(const ux_menu_entry_t *entry, snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu), " %s", LABEL_RSA4096); break; #endif + case CX_CURVE_SECP256K1: + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu), " %s", LABEL_SECP256K1); + break; case CX_CURVE_SECP256R1: snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu), " %s", LABEL_SECP256R1); break; @@ -615,6 +619,7 @@ void ui_menu_tmpl_set_action(unsigned int value) { attributes.length = 6; break; + case CX_CURVE_SECP256K1: case CX_CURVE_SECP256R1: if (G_gpg_vstate.ux_key == 2) { attributes.value[0] = KEY_ID_ECDH; diff --git a/src/gpg_ux_nanox.c b/src/gpg_ux_nanox.c index fec2006..c1c5f85 100644 --- a/src/gpg_ux_nanox.c +++ b/src/gpg_ux_nanox.c @@ -473,6 +473,7 @@ const char *const tmpl_type_getter_values[] = {LABEL_RSA2048, #ifdef WITH_SUPPORT_RSA4096 LABEL_RSA4096, #endif + LABEL_SECP256K1, LABEL_SECP256R1, LABEL_Ed25519}; @@ -481,6 +482,7 @@ const unsigned int tmpl_type_getter_values_map[] = {2048, #ifdef WITH_SUPPORT_RSA4096 4096, #endif + CX_CURVE_SECP256K1, CX_CURVE_SECP256R1, CX_CURVE_Ed25519}; @@ -572,6 +574,9 @@ void ui_menu_template_predisplay() { snprintf(KEY_TYPE, sizeof(KEY_TYPE), " %s", LABEL_RSA4096); break; #endif + case CX_CURVE_SECP256K1: + snprintf(KEY_TYPE, sizeof(KEY_TYPE), " %s", LABEL_SECP256K1); + break; case CX_CURVE_SECP256R1: snprintf(KEY_TYPE, sizeof(KEY_TYPE), " %s", LABEL_SECP256R1); break; @@ -610,6 +615,7 @@ void ui_menu_tmpl_set_action(unsigned int value) { attributes.length = 6; break; + case CX_CURVE_SECP256K1: case CX_CURVE_SECP256R1: oid = gpg_curve2oid(G_gpg_vstate.ux_type, &oid_len); if (oid == NULL) { diff --git a/src/gpg_ux_nbgl.c b/src/gpg_ux_nbgl.c index 1f7e9e1..2af475a 100644 --- a/src/gpg_ux_nbgl.c +++ b/src/gpg_ux_nbgl.c @@ -207,6 +207,7 @@ enum { #ifdef WITH_SUPPORT_RSA4096 TOKEN_TYPE_RSA4096, #endif + TOKEN_TYPE_SECP256K1, TOKEN_TYPE_SECP256R1, TOKEN_TYPE_Ed25519, TOKEN_TYPE_BACK @@ -217,12 +218,12 @@ static const char* const keyTypeTexts[] = {LABEL_RSA2048, #ifdef WITH_SUPPORT_RSA4096 LABEL_RSA4096, #endif + LABEL_SECP256K1, LABEL_SECP256R1, LABEL_Ed25519}; static uint32_t _getKeyType(const uint8_t key) { uint8_t* attributes = NULL; - uint32_t tag = 0; uint32_t token = 0; switch (key) { @@ -241,8 +242,7 @@ static uint32_t _getKeyType(const uint8_t key) { } switch (attributes[0]) { case KEY_ID_RSA: - tag = U2BE(attributes, 1); - switch (tag) { + switch (U2BE(attributes, 1)) { case 2048: token = TOKEN_TYPE_RSA2048; break; @@ -257,18 +257,31 @@ static uint32_t _getKeyType(const uint8_t key) { } break; case KEY_ID_ECDH: - tag = attributes[1]; - switch (tag) { + switch (attributes[1]) { case 0x2A: token = TOKEN_TYPE_SECP256R1; break; case 0x2B: - token = TOKEN_TYPE_Ed25519; + switch (attributes[2]) { + case 0x06: + token = TOKEN_TYPE_Ed25519; + break; + case 0x81: + token = TOKEN_TYPE_SECP256K1; + break; + } break; } break; case KEY_ID_ECDSA: - token = TOKEN_TYPE_SECP256R1; + switch (attributes[1]) { + case 0x2A: + token = TOKEN_TYPE_SECP256R1; + break; + case 0x2B: + token = TOKEN_TYPE_SECP256K1; + break; + } break; case KEY_ID_EDDSA: token = TOKEN_TYPE_Ed25519; @@ -315,6 +328,17 @@ static void template_key_cb(int token, uint8_t index) { oid_len = 6; break; + case TOKEN_TYPE_SECP256K1: + if (G_gpg_vstate.ux_key == TOKEN_TEMPLATE_DEC) { + attributes.value[0] = KEY_ID_ECDH; + } else { + attributes.value[0] = KEY_ID_ECDSA; + } + oid = gpg_curve2oid(CX_CURVE_SECP256K1, &oid_len); + memmove(attributes.value + 1, oid, oid_len); + attributes.length = 1 + oid_len; + break; + case TOKEN_TYPE_SECP256R1: if (G_gpg_vstate.ux_key == TOKEN_TEMPLATE_DEC) { attributes.value[0] = KEY_ID_ECDH; @@ -409,6 +433,9 @@ static void ui_settings_template(void) { bar.subText = PIC(LABEL_RSA4096); break; #endif + case TOKEN_TYPE_SECP256K1: + bar.subText = PIC(LABEL_SECP256K1); + break; case TOKEN_TYPE_SECP256R1: bar.subText = PIC(LABEL_SECP256R1); break; From 120bbeb8b6d834813b2c02d10869b3d47d9f0734 Mon Sep 17 00:00:00 2001 From: Charles-Edouard de la Vergne Date: Thu, 14 Mar 2024 16:13:17 +0100 Subject: [PATCH 3/4] Update snapshots --- .../nanos/test_menu_settings/00006.png | Bin 401 -> 410 bytes .../nanos/test_menu_settings/00007.png | Bin 417 -> 421 bytes .../nanos/test_menu_settings/00008.png | Bin 321 -> 411 bytes .../nanos/test_menu_settings/00009.png | Bin 415 -> 440 bytes .../nanos/test_menu_settings/00013.png | Bin 415 -> 440 bytes .../nanosp/test_menu_settings/00006.png | Bin 475 -> 481 bytes .../nanosp/test_menu_settings/00007.png | Bin 604 -> 584 bytes .../nanosp/test_menu_settings/00008.png | Bin 601 -> 669 bytes .../nanosp/test_menu_settings/00009.png | Bin 484 -> 619 bytes .../nanosp/test_menu_settings/00010.png | Bin 376 -> 408 bytes .../nanosp/test_menu_settings/00012.png | Bin 376 -> 408 bytes .../nanox/test_menu_settings/00006.png | Bin 475 -> 481 bytes .../nanox/test_menu_settings/00007.png | Bin 604 -> 584 bytes .../nanox/test_menu_settings/00008.png | Bin 601 -> 669 bytes .../nanox/test_menu_settings/00009.png | Bin 484 -> 619 bytes .../nanox/test_menu_settings/00010.png | Bin 376 -> 408 bytes .../nanox/test_menu_settings/00012.png | Bin 376 -> 408 bytes .../stax/test_menu_settings/00002.png | Bin 9595 -> 11104 bytes .../stax/test_menu_settings/00003.png | Bin 11641 -> 12023 bytes 19 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/snapshots/nanos/test_menu_settings/00006.png b/tests/snapshots/nanos/test_menu_settings/00006.png index 5304bfcec7a225e759d65fa7af391ead86107357..f434eb1e9bf71f9f30da914b2c49bce9bbc522fa 100644 GIT binary patch delta 383 zcmV-_0f7FI1DXSnB!6K^L_t(|ob8&yj)O1^M8m55{|EQb9-?JUJRYJI*a*#250P=4 z%BCqE(pn*(_c(~I+7I!J!VVFjLlLj4g?B7#`@Gw-GKY@O6rVUupY%`U9tE)Y+u7y| zmTH^Q?cJxfslrTp3L%6LLI@$mX)Fb6+Ey!SshaD4VXqX0B7bp+y`mkfD}e7pVWLU3 zU`#UR&P6Tp{iKLwszrz&V5^e`$JHa5b1>dq&w&EsFRlPx>Po1A&l=gRxln31lYgum z8P8(K=UzaBLQZ#+)y^Fi7bF z^@meSNo3#p1MjT-0Z%V%7r}H$;+-||fn_cGR+bexRCK2Bz;5`Ue;{)dK%$qk%$HfJ zHl*6CPbou%8T2HC5JCtcgpkWv66Tbxme*1h)%}{ik{1fZ0e|+4b}X*|x(hWE4XS0v z1jpDpsU@CIiU=lKgm@XYJZZ3>-IF;x_RfIEI UZ%O2P@Bjb+07*qoM6N<$g7ZMC6951J diff --git a/tests/snapshots/nanos/test_menu_settings/00007.png b/tests/snapshots/nanos/test_menu_settings/00007.png index 706365e845100e6bf782d81199c997b5bde5c68d..280b683e44ca6cbadcded27911d65803495fb49e 100644 GIT binary patch delta 395 zcmV;60d)SM1Em9yB!6s4L_t(|ob8&+62c%1MX6)||AV{G1WKj{r%F zv$W%C%S`ByxoIxQ39>yDuS000000D%7^>U}`! zPRB?yZq}1_HEsTK{^j{J(-17RF1*S)kk)a%9KDu>ci)PkV_(Q{HEPn=nZ~|!vF#-= p0HVI;bVt*Db!eS`C)Wtc6Y_oMtm62(Qvd(}07*qoLJg>jkh|G-{s7icwm8>FrmZS5H8LWr9U2r>eA2 zdoofw>mimM0RR910001BI7`qtWo^ZZUMhm5kyT`}T#}WP>VNrA%ku8{0xhHxwjM?X zNPS>SrJycZAY#?BX98CDK#gchDZfa9fI3ZS zo)uZnBLubPvMjg8Be$s*&)+>sgzH{Y{8(AOHXW diff --git a/tests/snapshots/nanos/test_menu_settings/00008.png b/tests/snapshots/nanos/test_menu_settings/00008.png index c51842fee31ac07c5db9e7b532b6ba1e6fe166dd..41bbb72580ef2d9745dab27c7adc0a4c737ca417 100644 GIT binary patch delta 384 zcmV-`0e}9%0-FPnB!6N_L_t(|ob8&y4#OY_hILur|ABjG4MW!Z)^0{R z$f#5ewNyOUYnh&|a<)9MIT6^3n9k7S>7V@lX52$NX!aeSv&H(IB=MNb+vLn+He5vj z=*KwMFU_=@+_!3PhNTxxXOS~)0lA*}^P29i0Vrc(F>tQc+KFMRvcyR9kleA!u=FrMY%Ec`xTmUq^E%$Es({JzuKKsEBx+O8*-3Bb@BtGfGN egqlQCvIZyHG~1T(Q_JB100000oneW1Hl52B!37=L_t(|ob8y)5`!QNMWIvw|ASrVf*A%A9?{a^;+&NeAh9=K zNkZ`F*yV#B8X7GVbfC_IJ=|12p21Aq{r$%t;`TgT+?*8`eEmZ8cXtvo$svq(&uPA1 zo>l%ORR9100001Uh>PQw)tRW0MCqisDwb>|(eh<~^ZgeVmh6}4U~EMk6k zRrThMV=Kar7Ul6iU9Ins+6nM~>9YTGw`o(Z)t2Gea-iFARS8JVMdutCKL{c>!;eoZ zR;Z=ze+WIV?b~Yt^4RJoZH0;Nlk((wGP0hkd0r$yj4jE5asN)ixj~)uRN-EE4ej4A stHx*7(B*#*03QGV00000007{|3Bn_Z=W7=21ONa407*qoM6N<$f}Hw`MF0Q* diff --git a/tests/snapshots/nanos/test_menu_settings/00009.png b/tests/snapshots/nanos/test_menu_settings/00009.png index 6dea62da1b0cfbf81a1d9b54f49c07f39958124a..81ce431d406492e6ef993253962442b74136c1b1 100644 GIT binary patch delta 414 zcmV;P0b%~11Goc_B!7QNL_t(|ob8&+5`!=ZMUzhb{||Q2E}UTy2;u{5$9qjRjaW0H3**{R{x%c< z000000Ps9Y5;0$MujHXetRgzZ<|)$bp4@ak<-YF${NofqMJq%CEfwh7wpOkjH9~tI zbs&D+@ej}vygrkB;2iatTED9B$aKjYU`kyF##X7$Ru@I2FYgTzA4RigCjbBd07*qo IM6N<$g6;jn1poj5 delta 388 zcmV-~0ek+q1D^wsB!6Z}L_t(|ob8%P4#OY}MNQS*|G-(a3nWC0&5&Y@n*UZQW-1Pr z`GLrk&)FzU&;5m!I^sZ;PCEOs(Z(3L7 zpbOdQ91xDiLgXvR(#NtbD-ornRL3tFHI^cNpsbh^nFE;3 z(FdLH?-WL3-F$L~5TC>ThwQgE?WqQdD$lobZ iYwKjjRjaW0H3**{R{x%c< z000000Ps9Y5;0$MujHXetRgzZ<|)$bp4@ak<-YF${NofqMJq%CEfwh7wpOkjH9~tI zbs&D+@ej}vygrkB;2iatTED9B$aKjYU`kyF##X7$Ru@I2FYgTzA4RigCjbBd07*qo IM6N<$g6;jn1poj5 delta 388 zcmV-~0ek+q1D^wsB!6Z}L_t(|ob8%P4#OY}MNQS*|G-(a3nWC0&5&Y@n*UZQW-1Pr z`GLrk&)FzU&;5m!I^sZ;PCEOs(Z(3L7 zpbOdQ91xDiLgXvR(#NtbD-ornRL3tFHI^cNpsbh^nFE;3 z(FdLH?-WL3-F$L~5TC>ThwQgE?WqQdD$lobZ iYwKjF1DKvB}^PT2pFyqA73VHhL?t{tI?@A;w* zkMIb#MN)g8 ziqg-v=XG3)_F|V)7Lhq?C0#*TkDcGao(Z@`J5}+G=04U0$ba9&=+FOEE+?!me0#6E zF6Z3!uC%ph0%ULHwo|X$gK}};Jhz}a2klabat}y@IjCz>wLV_8=VuGvtIR>WTzTry_AHP0Pxi!*fw$ xL6zs~n+7=?xW{s8)Nd(XXEwDSM}002ovPDHLkV1lE-;>`d6 delta 449 zcmV;y0Y3iW1KR_TB!8kwL_t(|obB3Ma)cldKv5=@ov{BUxtDxU(?!wHVq}`G@t!Z^ z@CXl48&d)R0000000000000000Km6+IoEd_haBgePk$;Wo0K|BoxrG~TcDl((|(-m zD@r@-mP@}B^~ols&Z1LFAx%bIj-B4Yo&i{*9;*08V;^e(^nW!m`tyH<>j9IAZ?ARt z<(!+=mAdu}fNrf`cI3R>DK|ULa|x0$sHZ}ddq5hDfy~XW`TmlYU(L8y8H0Md{BHR_ zPBo7=c7M%G|H;QH2Tj%6?g9GgML$#OgPM_deoc3~2LJ#70Kl8~en4XsiysC0?Kd)A zLN~n8yaPV^<$tRi{xqWhc1%K-FbV?OXFSCUM?X-|0k}FVOEBkjF_}s8EJvmLlN{IQ zjnYO3qr7|9pA;b+JqkGMEu@FFQgf{3yNHQn7!uyzwTLhq*tSAeF2``yjUQTkL3 z=gfBIX)*u+003CZbw9xP-fbpupXT1e>|*UQzxng5$vV)yo$OL1ZnEkoqjPvJN-Rjk r`D)XLYb>Z6k1Pjk8*i*j(UzA#Q)6<^Im)y000000NkvXXu0mjfrE=9w diff --git a/tests/snapshots/nanosp/test_menu_settings/00007.png b/tests/snapshots/nanosp/test_menu_settings/00007.png index c4df69f427064c2b43299206eaf784f6d859c524..3ad71f8f204410cddadc03b86ac67c3e1c14e9cc 100644 GIT binary patch delta 559 zcmV+~0?_^31jq!CB!3S{L_t(|ob8)ic7z}dK&_`cVgE~VFa6+@a>zrS(S(loelY=q zCV-eQ%K`uZ00000002+nE3xlw+giDlBISdy|GC?EkXU-0mY+}WfL88>L#*T-mkek=;}lQ#hb!*j5hqINq8pTvLR=){O%BBhiV zqpMM@r8%I6Tz_WpffEF^l4buQo+IPC^@i8}N2Cv=)ttrJ50qLl?SuVV!pmvq?IVn< z3^&I3K((6c12toFA(8W52HsaSQ5SYY4*ljN;FiLkdgv%~7o?Ue>b6AYQci6{7j3Dr zrXT* z9?LT%0jGNhoVCcCD@nQ!;@$!3a<3lkKl@^^cDL7>Z>@2RzXqMeC=O@|alAF&-Qh;-!+V^MAFf`t-F-XTGBv&g8Dw zKY#9<<>zqrx4Urj3R$Yl2Rk5>&21Q^ToT91(3&%=sVJ6kKuxo(Z0t3&5-p==#xWng z3I@u}&jx7mnHz|H;vTieMlq zB_E@UD%MsUkbfnY6?|Zbpjxo(CG?zL-_19?*FQXc&|A%ztZkuG)3hhs)iQ6Vn739K z_g-%F@quVH(FbD0=0-fneJ{N4VxZ3Lh79V(iNh_qJ$2Jid+&kc`MgDo-KRgiYHv+^VFCOhbJ2_}e%z9FK=k+B300000ycm(+3n~m1e{F{~ z89dO=V?41h`^6Rm3^jjV`Zodqu`Ktgg2G+aS-hLC;(%VyF+R{?{87wVnIBb41W(26 R>B0a2002ovPDHLkV1n!=5pVzi diff --git a/tests/snapshots/nanosp/test_menu_settings/00008.png b/tests/snapshots/nanosp/test_menu_settings/00008.png index 3d0298af9c42369fc3b15bf683fe953270f767b2..e678a8324068e41f8cb784e51d784a5fc7d08879 100644 GIT binary patch delta 644 zcmV-~0(<@01f2ztB!6T{L_t(|ob8-Zmct+jMV*}P#QiU6_A(!y<4{FJYk;=zex=4p zg3-hWX-abLg_jd^$(F65jOcl|kMjo<6u(vDCeJ-b`3Z;5jU6pFhA zr_^2SSebg0RtV+&6r=+v)x~viP=B$$YYwTSN7FINng9R*0Dk}g0C0{UU-NWj+pJgF zLd`;q7P3p|M*sNgRhV8HYxEqsHK8d@i6xh#ZIHrt!0KID5V5>1Ko=U_-6DW;%k z^G}MPh8_tCXy|YM2m>O@6x6tztxz~+F@pC~gb~oQ8WQMVD3wA#-b4Wa0000003H~{ z0~$G=4Fd?0eScH4Z&qkTt~rVgm?dmktb|7wBg9XdYC?pd?3Gu``b0Te--drJ$Xyp) zWl0(mY6`KlgN%gOtNxhEVRxLteOKEk(t_xnp1bF)dn*HqrS|rXDK(!zEDz&%9ewKXaE2J00000pN{GG0e!|*-KC5QY=;CirW2>leGbZ0 zeYx6FX0Fn7ubYlc+(DGw(2C>T=VID4HocRz32fhJ1G*c8c8yV26BDxDgfT8`=I`00000 z00000OmP0cpu$w~m$Ue3p%4uC7TtdXP5LccqL==K0DvzM|Ei#H$~(bt^C%tA>p9AV e>Nk@9S^fZTl~sVx*m)BG0000Ay81=$3UB!3`DL_t(|ob8)kc7z}dMyaPeasNx|Ui!c}Gz}2L3_@)0eR41Y z2KoEKq_mGOLGxC*mg&8$>g(4M7xTHR;LLfRsrCNnd3yX_?&f?9gY?_ow*5*rH$W!4 z+i*&`)$A*m-joKRyq|(JfTXy%bPnmSrtj1vrT2Im#%T!v0Dk}g05Fe_y~WF&t=g|P z6FnO-nb_PyEB)hN@521jn9_6X+>ER|DJwZPmJKOv1B`x^S-!p;Orj}q`%00000J6IGC zP;z`T3}8t1%73!X*2rYkQr=y#L0hpC?!Al=KT&2zgdpFwcgvTVtH)O=bU#|qc3p6k zA!*2Od6OS{LhMm~T*_g0)Zo6iRf=>^^sbpJ`N?dRxSLBkChCLuhkrdcK7waeSk-n#Kt>L}YOzsE z|NeKbI&yK#d{xNr+S}I)^5JXH60S000000002+XZQvZV*w6LeK~6Y O0000p5TvG2Rn?@o^6NNpK8@oaOO&oFma z4@mTCaRu+w3QvF}_e6d;N>53zvE!-ePTR$@A^-pY00000jDP1RvN1Ws%0+o9Br~gr zX*N&I%E=u|S6g`l9wAIq<%}w_$k~u)JXoGvMGMMA-hHPcM*yK(P*smiiM|(a#HDKF z`64uxU(3l=s?q7RqMfj7#Sk5WuHAID7Jd0%KGnbjSZ)kx^~lXgGQAJt#(-+LXPL6sE3o8M1V=x9|aMl8r^62Hv%M{4@NzF195%cQ@IJ?TEDjgt2A*X<9#HGbupID^>npUhz z^*?87IZT?7D`z=?RXV^)mu<{<7ALy1-1h+nuiQkw$`in1h`ken#7k$>0Pw6q0ssI2 h000000002IhF`Ni5wK+KM)?2$002ovPDHLkV1j&Q6tn;U delta 459 zcmV;+0W|*W1mpvdBYy#_Nkl`;b~h`ThTo&S4s zP{0l9u7MTV>TC>m)$O+2Y0cWO>N>5(_}tsQh?G)f6o^vFWZWm6=Xv$zl*Bvsc3*Yj z9v*O6)nkU}ONKi@t0Pfwjy6&{YTfbD45uGrT@e5P004g9M}K5z`VFh@s;@%2aCn&2 z=54cnn=`L(f7MJP%*x6+RrIdOj;xBo>A5VqplajQx25aQT+lEdd2Ouy@Xm87+v6o} z0NRIdn>CxMdmFxXXeYl;k_<_7HuN^_Y}Io1zLr?F<{^Tm`wn;-kvG%&uU!xe#oYnJ zTfQs2!twOsV1NC@d^$Y<00000AwuT^G$+^Jy*kb0{U@{h{scp?6sd^YHHU2kyUc;E z+m#I0=hkDk=YoDx5lPlcim_04Ra4n~-vL+jcb%?Yi9R23J&D$3lagFjmP49rf7cjH zJ`nU=g8%Tb`VwRAbBjZ-Jx+3ForPz$e5Lz44t*Y(XGCS!{y$)CgRe>P|A00Y-IPFk zfVe-0h9ypSk|6p3000000000000000008(`z5qw0O6~eV+7JK$002ovPDHLkV1kYu B;~fA1 diff --git a/tests/snapshots/nanosp/test_menu_settings/00010.png b/tests/snapshots/nanosp/test_menu_settings/00010.png index 2aa394d95f58df2507c3f3cbdb267ce58c47c4b9..ae682df49eb5e2d8cf52fb4e11e02372783a3f8b 100644 GIT binary patch delta 381 zcmeytG=q79N`1Vii(^Q|oVPcli<%9190F&(^tqxUmt6*yyHq!%UgTZOl!p#Ol$1ZqE`hM z{(34h#jGP`u7h=s({!(o6S%&HzT+?{dc4X%IdI;BSBK@YSyCFaKQNpP32v6QNtEk5 zz3h6TX-LzCZkD;JbN(Ib+x6_jroY+W_8TXy_FGuy{eQzbgQ>CX`B$tyZu8slV)};1 zm&-q|mAzKh^oG4XS0VkbN9?yn(zTD?F-3wIzEAg<3%ho^JCvSS-D@ek`Ru~4U6E!>)%V9UA%dx4e;vcz Wzh6uC{5B2*iF&&FxvXh;sJ-TJ z-ODdgmb|(1Z!fXu$c%V=VEGTNy`>rXYH`c&RvvBL{@de@rd*)U`-;o%g5jyhKc(lb zU`VPu`CYa7Z`i`)(SEflD;OT1Je7UfqxUmt6*yyHq!%UgTZOl!p#Ol$1ZqE`hM z{(34h#jGP`u7h=s({!(o6S%&HzT+?{dc4X%IdI;BSBK@YSyCFaKQNpP32v6QNtEk5 zz3h6TX-LzCZkD;JbN(Ib+x6_jroY+W_8TXy_FGuy{eQzbgQ>CX`B$tyZu8slV)};1 zm&-q|mAzKh^oG4XS0VkbN9?yn(zTD?F-3wIzEAg<3%ho^JCvSS-D@ek`Ru~4U6E!>)%V9UA%dx4e;vcz Wzh6uC{5B2*iF&&FxvXh;sJ-TJ z-ODdgmb|(1Z!fXu$c%V=VEGTNy`>rXYH`c&RvvBL{@de@rd*)U`-;o%g5jyhKc(lb zU`VPu`CYa7Z`i`)(SEflD;OT1Je7UfF1DKvB}^PT2pFyqA73VHhL?t{tI?@A;w* zkMIb#MN)g8 ziqg-v=XG3)_F|V)7Lhq?C0#*TkDcGao(Z@`J5}+G=04U0$ba9&=+FOEE+?!me0#6E zF6Z3!uC%ph0%ULHwo|X$gK}};Jhz}a2klabat}y@IjCz>wLV_8=VuGvtIR>WTzTry_AHP0Pxi!*fw$ xL6zs~n+7=?xW{s8)Nd(XXEwDSM}002ovPDHLkV1lE-;>`d6 delta 449 zcmV;y0Y3iW1KR_TB!8kwL_t(|obB3Ma)cldKv5=@ov{BUxtDxU(?!wHVq}`G@t!Z^ z@CXl48&d)R0000000000000000Km6+IoEd_haBgePk$;Wo0K|BoxrG~TcDl((|(-m zD@r@-mP@}B^~ols&Z1LFAx%bIj-B4Yo&i{*9;*08V;^e(^nW!m`tyH<>j9IAZ?ARt z<(!+=mAdu}fNrf`cI3R>DK|ULa|x0$sHZ}ddq5hDfy~XW`TmlYU(L8y8H0Md{BHR_ zPBo7=c7M%G|H;QH2Tj%6?g9GgML$#OgPM_deoc3~2LJ#70Kl8~en4XsiysC0?Kd)A zLN~n8yaPV^<$tRi{xqWhc1%K-FbV?OXFSCUM?X-|0k}FVOEBkjF_}s8EJvmLlN{IQ zjnYO3qr7|9pA;b+JqkGMEu@FFQgf{3yNHQn7!uyzwTLhq*tSAeF2``yjUQTkL3 z=gfBIX)*u+003CZbw9xP-fbpupXT1e>|*UQzxng5$vV)yo$OL1ZnEkoqjPvJN-Rjk r`D)XLYb>Z6k1Pjk8*i*j(UzA#Q)6<^Im)y000000NkvXXu0mjfrE=9w diff --git a/tests/snapshots/nanox/test_menu_settings/00007.png b/tests/snapshots/nanox/test_menu_settings/00007.png index c4df69f427064c2b43299206eaf784f6d859c524..3ad71f8f204410cddadc03b86ac67c3e1c14e9cc 100644 GIT binary patch delta 559 zcmV+~0?_^31jq!CB!3S{L_t(|ob8)ic7z}dK&_`cVgE~VFa6+@a>zrS(S(loelY=q zCV-eQ%K`uZ00000002+nE3xlw+giDlBISdy|GC?EkXU-0mY+}WfL88>L#*T-mkek=;}lQ#hb!*j5hqINq8pTvLR=){O%BBhiV zqpMM@r8%I6Tz_WpffEF^l4buQo+IPC^@i8}N2Cv=)ttrJ50qLl?SuVV!pmvq?IVn< z3^&I3K((6c12toFA(8W52HsaSQ5SYY4*ljN;FiLkdgv%~7o?Ue>b6AYQci6{7j3Dr zrXT* z9?LT%0jGNhoVCcCD@nQ!;@$!3a<3lkKl@^^cDL7>Z>@2RzXqMeC=O@|alAF&-Qh;-!+V^MAFf`t-F-XTGBv&g8Dw zKY#9<<>zqrx4Urj3R$Yl2Rk5>&21Q^ToT91(3&%=sVJ6kKuxo(Z0t3&5-p==#xWng z3I@u}&jx7mnHz|H;vTieMlq zB_E@UD%MsUkbfnY6?|Zbpjxo(CG?zL-_19?*FQXc&|A%ztZkuG)3hhs)iQ6Vn739K z_g-%F@quVH(FbD0=0-fneJ{N4VxZ3Lh79V(iNh_qJ$2Jid+&kc`MgDo-KRgiYHv+^VFCOhbJ2_}e%z9FK=k+B300000ycm(+3n~m1e{F{~ z89dO=V?41h`^6Rm3^jjV`Zodqu`Ktgg2G+aS-hLC;(%VyF+R{?{87wVnIBb41W(26 R>B0a2002ovPDHLkV1n!=5pVzi diff --git a/tests/snapshots/nanox/test_menu_settings/00008.png b/tests/snapshots/nanox/test_menu_settings/00008.png index 3d0298af9c42369fc3b15bf683fe953270f767b2..e678a8324068e41f8cb784e51d784a5fc7d08879 100644 GIT binary patch delta 644 zcmV-~0(<@01f2ztB!6T{L_t(|ob8-Zmct+jMV*}P#QiU6_A(!y<4{FJYk;=zex=4p zg3-hWX-abLg_jd^$(F65jOcl|kMjo<6u(vDCeJ-b`3Z;5jU6pFhA zr_^2SSebg0RtV+&6r=+v)x~viP=B$$YYwTSN7FINng9R*0Dk}g0C0{UU-NWj+pJgF zLd`;q7P3p|M*sNgRhV8HYxEqsHK8d@i6xh#ZIHrt!0KID5V5>1Ko=U_-6DW;%k z^G}MPh8_tCXy|YM2m>O@6x6tztxz~+F@pC~gb~oQ8WQMVD3wA#-b4Wa0000003H~{ z0~$G=4Fd?0eScH4Z&qkTt~rVgm?dmktb|7wBg9XdYC?pd?3Gu``b0Te--drJ$Xyp) zWl0(mY6`KlgN%gOtNxhEVRxLteOKEk(t_xnp1bF)dn*HqrS|rXDK(!zEDz&%9ewKXaE2J00000pN{GG0e!|*-KC5QY=;CirW2>leGbZ0 zeYx6FX0Fn7ubYlc+(DGw(2C>T=VID4HocRz32fhJ1G*c8c8yV26BDxDgfT8`=I`00000 z00000OmP0cpu$w~m$Ue3p%4uC7TtdXP5LccqL==K0DvzM|Ei#H$~(bt^C%tA>p9AV e>Nk@9S^fZTl~sVx*m)BG0000Ay81=$3UB!3`DL_t(|ob8)kc7z}dMyaPeasNx|Ui!c}Gz}2L3_@)0eR41Y z2KoEKq_mGOLGxC*mg&8$>g(4M7xTHR;LLfRsrCNnd3yX_?&f?9gY?_ow*5*rH$W!4 z+i*&`)$A*m-joKRyq|(JfTXy%bPnmSrtj1vrT2Im#%T!v0Dk}g05Fe_y~WF&t=g|P z6FnO-nb_PyEB)hN@521jn9_6X+>ER|DJwZPmJKOv1B`x^S-!p;Orj}q`%00000J6IGC zP;z`T3}8t1%73!X*2rYkQr=y#L0hpC?!Al=KT&2zgdpFwcgvTVtH)O=bU#|qc3p6k zA!*2Od6OS{LhMm~T*_g0)Zo6iRf=>^^sbpJ`N?dRxSLBkChCLuhkrdcK7waeSk-n#Kt>L}YOzsE z|NeKbI&yK#d{xNr+S}I)^5JXH60S000000002+XZQvZV*w6LeK~6Y O0000p5TvG2Rn?@o^6NNpK8@oaOO&oFma z4@mTCaRu+w3QvF}_e6d;N>53zvE!-ePTR$@A^-pY00000jDP1RvN1Ws%0+o9Br~gr zX*N&I%E=u|S6g`l9wAIq<%}w_$k~u)JXoGvMGMMA-hHPcM*yK(P*smiiM|(a#HDKF z`64uxU(3l=s?q7RqMfj7#Sk5WuHAID7Jd0%KGnbjSZ)kx^~lXgGQAJt#(-+LXPL6sE3o8M1V=x9|aMl8r^62Hv%M{4@NzF195%cQ@IJ?TEDjgt2A*X<9#HGbupID^>npUhz z^*?87IZT?7D`z=?RXV^)mu<{<7ALy1-1h+nuiQkw$`in1h`ken#7k$>0Pw6q0ssI2 h000000002IhF`Ni5wK+KM)?2$002ovPDHLkV1j&Q6tn;U delta 459 zcmV;+0W|*W1mpvdBYy#_Nkl`;b~h`ThTo&S4s zP{0l9u7MTV>TC>m)$O+2Y0cWO>N>5(_}tsQh?G)f6o^vFWZWm6=Xv$zl*Bvsc3*Yj z9v*O6)nkU}ONKi@t0Pfwjy6&{YTfbD45uGrT@e5P004g9M}K5z`VFh@s;@%2aCn&2 z=54cnn=`L(f7MJP%*x6+RrIdOj;xBo>A5VqplajQx25aQT+lEdd2Ouy@Xm87+v6o} z0NRIdn>CxMdmFxXXeYl;k_<_7HuN^_Y}Io1zLr?F<{^Tm`wn;-kvG%&uU!xe#oYnJ zTfQs2!twOsV1NC@d^$Y<00000AwuT^G$+^Jy*kb0{U@{h{scp?6sd^YHHU2kyUc;E z+m#I0=hkDk=YoDx5lPlcim_04Ra4n~-vL+jcb%?Yi9R23J&D$3lagFjmP49rf7cjH zJ`nU=g8%Tb`VwRAbBjZ-Jx+3ForPz$e5Lz44t*Y(XGCS!{y$)CgRe>P|A00Y-IPFk zfVe-0h9ypSk|6p3000000000000000008(`z5qw0O6~eV+7JK$002ovPDHLkV1kYu B;~fA1 diff --git a/tests/snapshots/nanox/test_menu_settings/00010.png b/tests/snapshots/nanox/test_menu_settings/00010.png index 2aa394d95f58df2507c3f3cbdb267ce58c47c4b9..ae682df49eb5e2d8cf52fb4e11e02372783a3f8b 100644 GIT binary patch delta 381 zcmeytG=q79N`1Vii(^Q|oVPcli<%9190F&(^tqxUmt6*yyHq!%UgTZOl!p#Ol$1ZqE`hM z{(34h#jGP`u7h=s({!(o6S%&HzT+?{dc4X%IdI;BSBK@YSyCFaKQNpP32v6QNtEk5 zz3h6TX-LzCZkD;JbN(Ib+x6_jroY+W_8TXy_FGuy{eQzbgQ>CX`B$tyZu8slV)};1 zm&-q|mAzKh^oG4XS0VkbN9?yn(zTD?F-3wIzEAg<3%ho^JCvSS-D@ek`Ru~4U6E!>)%V9UA%dx4e;vcz Wzh6uC{5B2*iF&&FxvXh;sJ-TJ z-ODdgmb|(1Z!fXu$c%V=VEGTNy`>rXYH`c&RvvBL{@de@rd*)U`-;o%g5jyhKc(lb zU`VPu`CYa7Z`i`)(SEflD;OT1Je7UfqxUmt6*yyHq!%UgTZOl!p#Ol$1ZqE`hM z{(34h#jGP`u7h=s({!(o6S%&HzT+?{dc4X%IdI;BSBK@YSyCFaKQNpP32v6QNtEk5 zz3h6TX-LzCZkD;JbN(Ib+x6_jroY+W_8TXy_FGuy{eQzbgQ>CX`B$tyZu8slV)};1 zm&-q|mAzKh^oG4XS0VkbN9?yn(zTD?F-3wIzEAg<3%ho^JCvSS-D@ek`Ru~4U6E!>)%V9UA%dx4e;vcz Wzh6uC{5B2*iF&&FxvXh;sJ-TJ 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 CQnJPX literal 9595 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 m{SRL3Z=3D@ZkiI literal 11641 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 Wjx)=zA2?DCGBL8eUU$_!;lBY@&*}02 From dc6b5254d0f9b31a4dc36084c27dd68545a3ca54 Mon Sep 17 00:00:00 2001 From: Charles-Edouard de la Vergne Date: Thu, 14 Mar 2024 16:15:28 +0100 Subject: [PATCH 4/4] Update version --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b867aef..da59afa 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ APPNAME = OpenPGP # Application version APPVERSION_M = 2 APPVERSION_N = 2 -APPVERSION_P = 0 +APPVERSION_P = 1 APPVERSION = "$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)" SPECVERSION:="3.3.1"