Skip to content

Commit 67c2df0

Browse files
committed
[WRAPPER] Fixed some wrapping issue with libnettle
1 parent 24ba535 commit 67c2df0

File tree

7 files changed

+133
-17
lines changed

7 files changed

+133
-17
lines changed

src/emu/x64printer.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2809,6 +2809,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
28092809
snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX);
28102810
} else if (w == vFEppup) {
28112811
snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX);
2812+
} else if (w == vFEppLp) {
2813+
snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX);
28122814
} else if (w == vFEpppi) {
28132815
snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX);
28142816
} else if (w == vFEpppp) {
@@ -4245,8 +4247,6 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
42454247
snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9);
42464248
} else if (w == vFppppii) {
42474249
snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9);
4248-
} else if (w == vFppppLp) {
4249-
snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9);
42504250
} else if (w == vFpppppi) {
42514251
snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9);
42524252
} else if (w == vFpppppu) {

src/wrapped/generated/functions_list.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1579,6 +1579,7 @@
15791579
#() vFEppiV
15801580
#() vFEppuu
15811581
#() vFEppup
1582+
#() vFEppLp
15821583
#() vFEpppi
15831584
#() vFEpppp
15841585
#() vFiiiii
@@ -2330,7 +2331,6 @@
23302331
#() vFpppuup
23312332
#() vFpppLpp
23322333
#() vFppppii
2333-
#() vFppppLp
23342334
#() vFpppppi
23352335
#() vFpppppu
23362336
#() vFpppppU
@@ -5548,6 +5548,8 @@ wrappedlibnettle8:
55485548
- nettle_cmac128_set_key
55495549
- nettle_cmac64_set_key
55505550
- nettle_gcm_set_key
5551+
- vFppLp:
5552+
- nettle_hmac_update
55515553
- vFpppLp:
55525554
- nettle_cmac128_update
55535555
- nettle_cmac64_update
@@ -5556,6 +5558,8 @@ wrappedlibnettle8:
55565558
- nettle_cmac64_digest
55575559
- vFppppLp:
55585560
- nettle_gcm_digest
5561+
- nettle_hmac_digest
5562+
- nettle_hmac_set_key
55595563
- vFppLpLpp:
55605564
- nettle_cbc_decrypt
55615565
- nettle_cbc_encrypt

src/wrapped/generated/wrappedlibnettle8types.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#endif
1313

1414
typedef void (*vFppp_t)(void*, void*, void*);
15+
typedef void (*vFppLp_t)(void*, void*, uintptr_t, void*);
1516
typedef void (*vFpppLp_t)(void*, void*, void*, uintptr_t, void*);
1617
typedef void (*vFppppup_t)(void*, void*, void*, void*, uint32_t, void*);
1718
typedef void (*vFppppLp_t)(void*, void*, void*, void*, uintptr_t, void*);
@@ -27,11 +28,14 @@ typedef int32_t (*iFppLpLpLLpp_t)(void*, void*, uintptr_t, void*, uintptr_t, voi
2728
GO(nettle_cmac128_set_key, vFppp_t) \
2829
GO(nettle_cmac64_set_key, vFppp_t) \
2930
GO(nettle_gcm_set_key, vFppp_t) \
31+
GO(nettle_hmac_update, vFppLp_t) \
3032
GO(nettle_cmac128_update, vFpppLp_t) \
3133
GO(nettle_cmac64_update, vFpppLp_t) \
3234
GO(nettle_cmac128_digest, vFppppup_t) \
3335
GO(nettle_cmac64_digest, vFppppup_t) \
3436
GO(nettle_gcm_digest, vFppppLp_t) \
37+
GO(nettle_hmac_digest, vFppppLp_t) \
38+
GO(nettle_hmac_set_key, vFppppLp_t) \
3539
GO(nettle_cbc_decrypt, vFppLpLpp_t) \
3640
GO(nettle_cbc_encrypt, vFppLpLpp_t) \
3741
GO(nettle_cfb8_decrypt, vFppLpLpp_t) \

src/wrapped/generated/wrapper.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1607,6 +1607,7 @@ typedef void (*vFEppip_t)(x64emu_t*, void*, void*, int32_t, void*);
16071607
typedef void (*vFEppiV_t)(x64emu_t*, void*, void*, int32_t, void*);
16081608
typedef void (*vFEppuu_t)(x64emu_t*, void*, void*, uint32_t, uint32_t);
16091609
typedef void (*vFEppup_t)(x64emu_t*, void*, void*, uint32_t, void*);
1610+
typedef void (*vFEppLp_t)(x64emu_t*, void*, void*, uintptr_t, void*);
16101611
typedef void (*vFEpppi_t)(x64emu_t*, void*, void*, void*, int32_t);
16111612
typedef void (*vFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
16121613
typedef void (*vFiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t);
@@ -2358,7 +2359,6 @@ typedef void (*vFpppuuu_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t);
23582359
typedef void (*vFpppuup_t)(void*, void*, void*, uint32_t, uint32_t, void*);
23592360
typedef void (*vFpppLpp_t)(void*, void*, void*, uintptr_t, void*, void*);
23602361
typedef void (*vFppppii_t)(void*, void*, void*, void*, int32_t, int32_t);
2361-
typedef void (*vFppppLp_t)(void*, void*, void*, void*, uintptr_t, void*);
23622362
typedef void (*vFpppppi_t)(void*, void*, void*, void*, void*, int32_t);
23632363
typedef void (*vFpppppu_t)(void*, void*, void*, void*, void*, uint32_t);
23642364
typedef void (*vFpppppU_t)(void*, void*, void*, void*, void*, uint64_t);
@@ -5457,6 +5457,7 @@ void vFEppip(x64emu_t *emu, uintptr_t fcn) { vFEppip_t fn = (vFEppip_t)fcn; fn(e
54575457
void vFEppiV(x64emu_t *emu, uintptr_t fcn) { vFEppiV_t fn = (vFEppiV_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)(R_RSP + 8)); }
54585458
void vFEppuu(x64emu_t *emu, uintptr_t fcn) { vFEppuu_t fn = (vFEppuu_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
54595459
void vFEppup(x64emu_t *emu, uintptr_t fcn) { vFEppup_t fn = (vFEppup_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
5460+
void vFEppLp(x64emu_t *emu, uintptr_t fcn) { vFEppLp_t fn = (vFEppLp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
54605461
void vFEpppi(x64emu_t *emu, uintptr_t fcn) { vFEpppi_t fn = (vFEpppi_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
54615462
void vFEpppp(x64emu_t *emu, uintptr_t fcn) { vFEpppp_t fn = (vFEpppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
54625463
void vFiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiii_t fn = (vFiiiii_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
@@ -6208,7 +6209,6 @@ void vFpppuuu(x64emu_t *emu, uintptr_t fcn) { vFpppuuu_t fn = (vFpppuuu_t)fcn; f
62086209
void vFpppuup(x64emu_t *emu, uintptr_t fcn) { vFpppuup_t fn = (vFpppuup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
62096210
void vFpppLpp(x64emu_t *emu, uintptr_t fcn) { vFpppLpp_t fn = (vFpppLpp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
62106211
void vFppppii(x64emu_t *emu, uintptr_t fcn) { vFppppii_t fn = (vFppppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
6211-
void vFppppLp(x64emu_t *emu, uintptr_t fcn) { vFppppLp_t fn = (vFppppLp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
62126212
void vFpppppi(x64emu_t *emu, uintptr_t fcn) { vFpppppi_t fn = (vFpppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); }
62136213
void vFpppppu(x64emu_t *emu, uintptr_t fcn) { vFpppppu_t fn = (vFpppppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
62146214
void vFpppppU(x64emu_t *emu, uintptr_t fcn) { vFpppppU_t fn = (vFpppppU_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9); }
@@ -9649,7 +9649,6 @@ int isSimpleWrapper(wrapper_t fun) {
96499649
if (fun == &vFpppuup) return 1;
96509650
if (fun == &vFpppLpp) return 1;
96519651
if (fun == &vFppppii) return 1;
9652-
if (fun == &vFppppLp) return 1;
96539652
if (fun == &vFpppppi) return 1;
96549653
if (fun == &vFpppppu) return 1;
96559654
if (fun == &vFpppppU) return 1;
@@ -11852,7 +11851,6 @@ int isSimpleWrapper(wrapper_t fun) {
1185211851
if (fun == &vFpppuup) return 385;
1185311852
if (fun == &vFpppLpp) return 1;
1185411853
if (fun == &vFppppii) return 769;
11855-
if (fun == &vFppppLp) return 1;
1185611854
if (fun == &vFpppppi) return 513;
1185711855
if (fun == &vFpppppu) return 513;
1185811856
if (fun == &vFpppppU) return 1;
@@ -14055,7 +14053,6 @@ int isSimpleWrapper(wrapper_t fun) {
1405514053
if (fun == &vFpppuup) return 385;
1405614054
if (fun == &vFpppLpp) return 1;
1405714055
if (fun == &vFppppii) return 769;
14058-
if (fun == &vFppppLp) return 1;
1405914056
if (fun == &vFpppppi) return 513;
1406014057
if (fun == &vFpppppu) return 513;
1406114058
if (fun == &vFpppppU) return 1;

src/wrapped/generated/wrapper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1616,6 +1616,7 @@ void vFEppip(x64emu_t *emu, uintptr_t fnc);
16161616
void vFEppiV(x64emu_t *emu, uintptr_t fnc);
16171617
void vFEppuu(x64emu_t *emu, uintptr_t fnc);
16181618
void vFEppup(x64emu_t *emu, uintptr_t fnc);
1619+
void vFEppLp(x64emu_t *emu, uintptr_t fnc);
16191620
void vFEpppi(x64emu_t *emu, uintptr_t fnc);
16201621
void vFEpppp(x64emu_t *emu, uintptr_t fnc);
16211622
void vFiiiii(x64emu_t *emu, uintptr_t fnc);
@@ -2367,7 +2368,6 @@ void vFpppuuu(x64emu_t *emu, uintptr_t fnc);
23672368
void vFpppuup(x64emu_t *emu, uintptr_t fnc);
23682369
void vFpppLpp(x64emu_t *emu, uintptr_t fnc);
23692370
void vFppppii(x64emu_t *emu, uintptr_t fnc);
2370-
void vFppppLp(x64emu_t *emu, uintptr_t fnc);
23712371
void vFpppppi(x64emu_t *emu, uintptr_t fnc);
23722372
void vFpppppu(x64emu_t *emu, uintptr_t fnc);
23732373
void vFpppppU(x64emu_t *emu, uintptr_t fnc);

src/wrapped/wrappedlibnettle8.c

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,35 @@ const char* libnettle8Name = "libnettle.so.8";
2828

2929
#include "wrappercallback.h"
3030

31+
typedef void(*vFp_t)(void*);
32+
typedef void(*vFpp_t)(void*, void*);
33+
typedef void(*vFpLp_t)(void*, size_t, void*);
34+
typedef void(*vFpLpp_t)(void*, size_t, void*, void*);
35+
36+
typedef struct my_nettle_hash_s
37+
{
38+
const char* name;
39+
unsigned context_size;
40+
unsigned digest_size;
41+
unsigned block_size;
42+
vFp_t init;
43+
vFpLp_t update;
44+
vFpLp_t digest;
45+
} my_nettle_hash_t;
46+
47+
typedef struct my_nettle_cipher_s
48+
{
49+
const char* name;
50+
unsigned context_size;
51+
unsigned block_size;
52+
unsigned key_size;
53+
vFpp_t set_encrypt_key;
54+
vFpp_t set_decrypt_key;
55+
vFpLpp_t encrypt;
56+
vFpLpp_t decrypt;
57+
} my_nettle_cipher_t;
58+
59+
3160
#define SUPER() \
3261
GO(0) \
3362
GO(1) \
@@ -64,6 +93,29 @@ static void* findnettle_cipher_funcFct(void* fct)
6493
return NULL;
6594
}
6695

96+
// nettle_cipher_set
97+
#define GO(A) \
98+
static uintptr_t my_nettle_cipher_set_fct_##A = 0; \
99+
static void my_nettle_cipher_set_##A(void* a, void* b) \
100+
{ \
101+
RunFunctionFmt(my_nettle_cipher_set_fct_##A, "pp", a, b); \
102+
}
103+
SUPER()
104+
#undef GO
105+
static void* findnettle_cipher_setFct(void* fct)
106+
{
107+
if(!fct) return fct;
108+
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
109+
#define GO(A) if(my_nettle_cipher_set_fct_##A == (uintptr_t)fct) return my_nettle_cipher_set_##A;
110+
SUPER()
111+
#undef GO
112+
#define GO(A) if(my_nettle_cipher_set_fct_##A == 0) {my_nettle_cipher_set_fct_##A = (uintptr_t)fct; return my_nettle_cipher_set_##A; }
113+
SUPER()
114+
#undef GO
115+
printf_log(LOG_NONE, "Warning, no more slot for libnettle.so.8 nettle_cipher_set callback\n");
116+
return NULL;
117+
}
118+
67119
// nettle_hash_update_func
68120
#define GO(A) \
69121
static uintptr_t my_nettle_hash_update_func_fct_##A = 0; \
@@ -109,9 +161,50 @@ static void* findnettle_hash_digest_funcFct(void* fct)
109161
printf_log(LOG_NONE, "Warning, no more slot for libnettle.so.8 nettle_hash_digest_func callback\n");
110162
return NULL;
111163
}
164+
// nettle_hash_init
165+
#define GO(A) \
166+
static uintptr_t my_nettle_hash_init_fct_##A = 0; \
167+
static void my_nettle_hash_init_##A(void* a) \
168+
{ \
169+
RunFunctionFmt(my_nettle_hash_init_fct_##A, "p", a); \
170+
}
171+
SUPER()
172+
#undef GO
173+
static void* findnettle_hash_initFct(void* fct)
174+
{
175+
if(!fct) return fct;
176+
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
177+
#define GO(A) if(my_nettle_hash_init_fct_##A == (uintptr_t)fct) return my_nettle_hash_init_##A;
178+
SUPER()
179+
#undef GO
180+
#define GO(A) if(my_nettle_hash_init_fct_##A == 0) {my_nettle_hash_init_fct_##A = (uintptr_t)fct; return my_nettle_hash_init_##A; }
181+
SUPER()
182+
#undef GO
183+
printf_log(LOG_NONE, "Warning, no more slot for libnettle.so.8 nettle_hash_init callback\n");
184+
return NULL;
185+
}
186+
112187

113188
#undef SUPER
114189

190+
my_nettle_hash_t* Wrap_nettle_hash(my_nettle_hash_t* d, my_nettle_hash_t* s)
191+
{
192+
memcpy(d, s, sizeof(my_nettle_hash_t));
193+
d->init = findnettle_hash_initFct(s->init);
194+
d->update = findnettle_hash_update_funcFct(s->update);
195+
d->digest = findnettle_hash_digest_funcFct(s->digest);
196+
return d;
197+
}
198+
my_nettle_cipher_t* Wrap_nettle_cipher(my_nettle_cipher_t* d, my_nettle_cipher_t* s)
199+
{
200+
memcpy(d, s, sizeof(my_nettle_cipher_t));
201+
d->set_decrypt_key = findnettle_cipher_setFct(s->set_decrypt_key);
202+
d->set_encrypt_key = findnettle_cipher_setFct(s->set_encrypt_key);
203+
d->encrypt = findnettle_cipher_funcFct(s->encrypt);
204+
d->decrypt = findnettle_cipher_funcFct(s->decrypt);
205+
return d;
206+
}
207+
115208
EXPORT void my_nettle_ccm_encrypt_message(x64emu_t* emu, void* cipher, void* f, size_t nlen, void* nonce, size_t alen, void* adata, size_t tlen, size_t clen, void* dst, void* src)
116209
{
117210
my->nettle_ccm_encrypt_message(cipher, findnettle_cipher_funcFct(f), nlen, nonce, alen, adata, tlen, clen, dst, src);
@@ -222,4 +315,22 @@ EXPORT void my_nettle_pbkdf2(x64emu_t* emu, void* ctx, void* update, void* diges
222315
my->nettle_pbkdf2(ctx, findnettle_hash_update_funcFct(update), findnettle_hash_digest_funcFct(digest), dsize, iter, ssalt, salt, len, dst);
223316
}
224317

318+
EXPORT void my_nettle_hmac_set_key(x64emu_t* emu, void* outer, void* inner, void* state, my_nettle_hash_t* hash, size_t l, void* key)
319+
{
320+
my_nettle_hash_t save = {0};
321+
my->nettle_hmac_set_key(outer, inner, state, Wrap_nettle_hash(&save, hash), l, key);
322+
}
323+
324+
EXPORT void my_nettle_hmac_update(x64emu_t* emu, void* state, my_nettle_hash_t* hash, size_t l, void* key)
325+
{
326+
my_nettle_hash_t save = {0};
327+
my->nettle_hmac_update(state, Wrap_nettle_hash(&save, hash), l, key);
328+
}
329+
330+
EXPORT void my_nettle_hmac_digest(x64emu_t* emu, void* outer, void* inner, void* state, my_nettle_hash_t* hash, size_t l, void* key)
331+
{
332+
my_nettle_hash_t save = {0};
333+
my->nettle_hmac_digest(outer, inner, state, Wrap_nettle_hash(&save, hash), l, key);
334+
}
335+
225336
#include "wrappedlib_init.h"

src/wrapped/wrappedlibnettle8_private.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ GO(nettle_gosthash94_init, vFp)
303303
//DATA(_nettle_hashes,
304304
GOM(nettle_hkdf_expand, vFEpppLLpLp)
305305
GOM(nettle_hkdf_extract, vFEpppLLpp)
306-
GO(nettle_hmac_digest, vFppppLp)
306+
GOM(nettle_hmac_digest, vFEppppLp)
307307
GO(nettle_hmac_gosthash94cp_digest, vFpLp)
308308
GO(nettle_hmac_gosthash94cp_set_key, vFpip)
309309
GO(nettle_hmac_gosthash94cp_update, vFpLp)
@@ -318,7 +318,7 @@ GO(nettle_hmac_md5_update, vFpLp)
318318
GO(nettle_hmac_ripemd160_digest, vFpLp)
319319
//GO(nettle_hmac_ripemd160_set_key,
320320
GO(nettle_hmac_ripemd160_update, vFpLp)
321-
GO(nettle_hmac_set_key, vFppppLp)
321+
GOM(nettle_hmac_set_key, vFEppppLp)
322322
//DATA(nettle_hmac_sha1,
323323
GO(nettle_hmac_sha1_digest, vFpLp)
324324
GO(nettle_hmac_sha1_set_key, vFpip)
@@ -348,7 +348,7 @@ GO(nettle_hmac_streebog256_set_key, vFpLp)
348348
GO(nettle_hmac_streebog512_digest, vFpip)
349349
GO(nettle_hmac_streebog512_set_key, vFpip)
350350
GO(nettle_hmac_streebog512_update, vFpip)
351-
//GO(nettle_hmac_update,
351+
GOM(nettle_hmac_update, vFEppLp)
352352
GO(nettle_knuth_lfib_get, uFp)
353353
GO(nettle_knuth_lfib_get_array, vFpLp)
354354
GO(nettle_knuth_lfib_init, vFpu)
@@ -494,15 +494,15 @@ GO(nettle_siv_cmac_aes128_set_key, vFpp)
494494
GO(nettle_siv_cmac_aes256_decrypt_message, iFpLpLpLpp)
495495
GO(nettle_siv_cmac_aes256_encrypt_message, vFpLpLpLpp)
496496
GO(nettle_siv_cmac_aes256_set_key, vFpp)
497-
//GO(nettle_siv_cmac_decrypt_message,
498-
//GO(nettle_siv_cmac_encrypt_message,
499-
//GO(nettle_siv_cmac_set_key,
497+
//GOM(nettle_siv_cmac_decrypt_message,
498+
//GOM(nettle_siv_cmac_encrypt_message,
499+
//GOM(nettle_siv_cmac_set_key,
500500
GO(nettle_siv_gcm_aes128_decrypt_message, iFpLpLpLpp)
501501
GO(nettle_siv_gcm_aes128_encrypt_message, vFpLpLpLpp)
502502
GO(nettle_siv_gcm_aes256_decrypt_message, iFpLpLpLpp)
503503
GO(nettle_siv_gcm_aes256_encrypt_message, vFpLpLpLpp)
504-
//GO(nettle_siv_gcm_decrypt_message,
505-
//GO(nettle_siv_gcm_encrypt_message,
504+
//GOM(nettle_siv_gcm_decrypt_message,
505+
//GOM(nettle_siv_gcm_encrypt_message,
506506
//GO(_nettle_siv_ghash_set_key,
507507
//GO(_nettle_siv_ghash_update,
508508
//DATA(nettle_sm3,

0 commit comments

Comments
 (0)