Skip to content

Commit 7070100

Browse files
author
Andrew Karamaoun
committed
Fixes for windows building
1 parent b00aee2 commit 7070100

4 files changed

Lines changed: 51 additions & 45 deletions

File tree

configure.ac

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1276,6 +1276,12 @@ fi
12761276

12771277
AC_CHECK_HEADER([openssl/bn.h],,AC_MSG_ERROR(openssl/bn.h header missing))
12781278
AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR(libcrypto missing))
1279+
case $host in
1280+
*mingw*)
1281+
AC_CHECK_LIB([crypt32], [CertFindCertificateInStore],,AC_MSG_ERROR(libcrypt32 missing))
1282+
;;
1283+
esac
1284+
12791285

12801286
AC_CHECK_HEADER([boost/multiprecision/cpp_int.hpp],,AC_MSG_ERROR(boost multiprecision headers missing))
12811287
AC_CHECK_LIB([sodium], [crypto_generichash_blake2b_update],, AC_MSG_ERROR(libsodium missing))

src/crypto/ar2/blake2/blake2.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,15 @@ enum {
6969
};
7070

7171
/* Streaming API */
72-
int blake2b_init(blake2b_state *S, size_t outlen);
73-
int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
72+
int ar2_blake2b_init(blake2b_state *S, size_t outlen);
73+
int ar2_blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
7474
size_t keylen);
75-
int blake2b_init_param(blake2b_state *S, const blake2b_param *P);
76-
int blake2b_update(blake2b_state *S, const void *in, size_t inlen);
77-
int blake2b_final(blake2b_state *S, void *out, size_t outlen);
75+
int ar2_blake2b_init_param(blake2b_state *S, const blake2b_param *P);
76+
int ar2_blake2b_update(blake2b_state *S, const void *in, size_t inlen);
77+
int ar2_blake2b_final(blake2b_state *S, void *out, size_t outlen);
7878

7979
/* Simple API */
80-
int blake2b(void *out, size_t outlen, const void *in, size_t inlen,
80+
int ar2_blake2b(void *out, size_t outlen, const void *in, size_t inlen,
8181
const void *key, size_t keylen);
8282

8383
/* Argon2 Team - Begin Code */

src/crypto/ar2/blake2/blake2b.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ static BLAKE2_INLINE void blake2b_init0(blake2b_state *S) {
7070
memcpy(S->h, blake2b_IV, sizeof(S->h));
7171
}
7272

73-
int blake2b_init_param(blake2b_state *S, const blake2b_param *P) {
73+
int ar2_blake2b_init_param(blake2b_state *S, const blake2b_param *P) {
7474
const unsigned char *p = (const unsigned char *)P;
7575
unsigned int i;
7676

@@ -88,7 +88,7 @@ int blake2b_init_param(blake2b_state *S, const blake2b_param *P) {
8888
}
8989

9090
/* Sequential blake2b initialization */
91-
int blake2b_init(blake2b_state *S, size_t outlen) {
91+
int ar2_blake2b_init(blake2b_state *S, size_t outlen) {
9292
blake2b_param P;
9393

9494
if (S == NULL) {
@@ -113,10 +113,10 @@ int blake2b_init(blake2b_state *S, size_t outlen) {
113113
memset(P.salt, 0, sizeof(P.salt));
114114
memset(P.personal, 0, sizeof(P.personal));
115115

116-
return blake2b_init_param(S, &P);
116+
return ar2_blake2b_init_param(S, &P);
117117
}
118118

119-
int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
119+
int ar2_blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
120120
size_t keylen) {
121121
blake2b_param P;
122122

@@ -147,7 +147,7 @@ int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
147147
memset(P.salt, 0, sizeof(P.salt));
148148
memset(P.personal, 0, sizeof(P.personal));
149149

150-
if (blake2b_init_param(S, &P) < 0) {
150+
if (ar2_blake2b_init_param(S, &P) < 0) {
151151
blake2b_invalidate_state(S);
152152
return -1;
153153
}
@@ -156,7 +156,7 @@ int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
156156
uint8_t block[BLAKE2B_BLOCKBYTES];
157157
memset(block, 0, BLAKE2B_BLOCKBYTES);
158158
memcpy(block, key, keylen);
159-
blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
159+
ar2_blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
160160
/* Burn the key from stack */
161161
clear_internal_memory(block, BLAKE2B_BLOCKBYTES);
162162
}
@@ -221,7 +221,7 @@ static void blake2b_compress(blake2b_state *S, const uint8_t *block) {
221221
#undef ROUND
222222
}
223223

224-
int blake2b_update(blake2b_state *S, const void *in, size_t inlen) {
224+
int ar2_blake2b_update(blake2b_state *S, const void *in, size_t inlen) {
225225
const uint8_t *pin = (const uint8_t *)in;
226226

227227
if (inlen == 0) {
@@ -261,7 +261,7 @@ int blake2b_update(blake2b_state *S, const void *in, size_t inlen) {
261261
return 0;
262262
}
263263

264-
int blake2b_final(blake2b_state *S, void *out, size_t outlen) {
264+
int ar2_blake2b_final(blake2b_state *S, void *out, size_t outlen) {
265265
uint8_t buffer[BLAKE2B_OUTBYTES] = {0};
266266
unsigned int i;
267267

@@ -291,7 +291,7 @@ int blake2b_final(blake2b_state *S, void *out, size_t outlen) {
291291
return 0;
292292
}
293293

294-
int blake2b(void *out, size_t outlen, const void *in, size_t inlen,
294+
int ar2_blake2b(void *out, size_t outlen, const void *in, size_t inlen,
295295
const void *key, size_t keylen) {
296296
blake2b_state S;
297297
int ret = -1;
@@ -310,19 +310,19 @@ int blake2b(void *out, size_t outlen, const void *in, size_t inlen,
310310
}
311311

312312
if (keylen > 0) {
313-
if (blake2b_init_key(&S, outlen, key, keylen) < 0) {
313+
if (ar2_blake2b_init_key(&S, outlen, key, keylen) < 0) {
314314
goto fail;
315315
}
316316
} else {
317-
if (blake2b_init(&S, outlen) < 0) {
317+
if (ar2_blake2b_init(&S, outlen) < 0) {
318318
goto fail;
319319
}
320320
}
321321

322-
if (blake2b_update(&S, in, inlen) < 0) {
322+
if (ar2_blake2b_update(&S, in, inlen) < 0) {
323323
goto fail;
324324
}
325-
ret = blake2b_final(&S, out, outlen);
325+
ret = ar2_blake2b_final(&S, out, outlen);
326326

327327
fail:
328328
clear_internal_memory(&S, sizeof(S));
@@ -352,33 +352,33 @@ int ar_blake2b_long(void *pout, size_t outlen, const void *in, size_t inlen) {
352352
} while ((void)0, 0)
353353

354354
if (outlen <= BLAKE2B_OUTBYTES) {
355-
TRY(blake2b_init(&blake_state, outlen));
356-
TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
357-
TRY(blake2b_update(&blake_state, in, inlen));
358-
TRY(blake2b_final(&blake_state, out, outlen));
355+
TRY(ar2_blake2b_init(&blake_state, outlen));
356+
TRY(ar2_blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
357+
TRY(ar2_blake2b_update(&blake_state, in, inlen));
358+
TRY(ar2_blake2b_final(&blake_state, out, outlen));
359359
} else {
360360
uint32_t toproduce;
361361
uint8_t out_buffer[BLAKE2B_OUTBYTES];
362362
uint8_t in_buffer[BLAKE2B_OUTBYTES];
363-
TRY(blake2b_init(&blake_state, BLAKE2B_OUTBYTES));
364-
TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
365-
TRY(blake2b_update(&blake_state, in, inlen));
366-
TRY(blake2b_final(&blake_state, out_buffer, BLAKE2B_OUTBYTES));
363+
TRY(ar2_blake2b_init(&blake_state, BLAKE2B_OUTBYTES));
364+
TRY(ar2_blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
365+
TRY(ar2_blake2b_update(&blake_state, in, inlen));
366+
TRY(ar2_blake2b_final(&blake_state, out_buffer, BLAKE2B_OUTBYTES));
367367
memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
368368
out += BLAKE2B_OUTBYTES / 2;
369369
toproduce = (uint32_t)outlen - BLAKE2B_OUTBYTES / 2;
370370

371371
while (toproduce > BLAKE2B_OUTBYTES) {
372372
memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES);
373-
TRY(blake2b(out_buffer, BLAKE2B_OUTBYTES, in_buffer,
373+
TRY(ar2_blake2b(out_buffer, BLAKE2B_OUTBYTES, in_buffer,
374374
BLAKE2B_OUTBYTES, NULL, 0));
375375
memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
376376
out += BLAKE2B_OUTBYTES / 2;
377377
toproduce -= BLAKE2B_OUTBYTES / 2;
378378
}
379379

380380
memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES);
381-
TRY(blake2b(out_buffer, toproduce, in_buffer, BLAKE2B_OUTBYTES, NULL,
381+
TRY(ar2_blake2b(out_buffer, toproduce, in_buffer, BLAKE2B_OUTBYTES, NULL,
382382
0));
383383
memcpy(out, out_buffer, toproduce);
384384
}

src/crypto/ar2/core.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -501,31 +501,31 @@ void ar2d_initial_hash(uint8_t *blockhash, argon2_context *context,
501501
return;
502502
}
503503

504-
blake2b_init(&BlakeHash, ARGON2_PREHASH_DIGEST_LENGTH);
504+
ar2_blake2b_init(&BlakeHash, ARGON2_PREHASH_DIGEST_LENGTH);
505505

506506
store32(&value, context->lanes);
507-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
507+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
508508

509509
store32(&value, context->outlen);
510-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
510+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
511511

512512
store32(&value, context->m_cost);
513-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
513+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
514514

515515
store32(&value, context->t_cost);
516-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
516+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
517517

518518
store32(&value, context->version);
519-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
519+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
520520

521521
store32(&value, (uint32_t)type);
522-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
522+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
523523

524524
store32(&value, context->pwdlen);
525-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
525+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
526526

527527
if (context->pwd != NULL) {
528-
blake2b_update(&BlakeHash, (const uint8_t *)context->pwd,
528+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)context->pwd,
529529
context->pwdlen);
530530

531531
if (context->flags & ARGON2_FLAG_CLEAR_PASSWORD) {
@@ -535,18 +535,18 @@ void ar2d_initial_hash(uint8_t *blockhash, argon2_context *context,
535535
}
536536

537537
store32(&value, context->saltlen);
538-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
538+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
539539

540540
if (context->salt != NULL) {
541-
blake2b_update(&BlakeHash, (const uint8_t *)context->salt,
541+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)context->salt,
542542
context->saltlen);
543543
}
544544

545545
store32(&value, context->secretlen);
546-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
546+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
547547

548548
if (context->secret != NULL) {
549-
blake2b_update(&BlakeHash, (const uint8_t *)context->secret,
549+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)context->secret,
550550
context->secretlen);
551551

552552
if (context->flags & ARGON2_FLAG_CLEAR_SECRET) {
@@ -556,14 +556,14 @@ void ar2d_initial_hash(uint8_t *blockhash, argon2_context *context,
556556
}
557557

558558
store32(&value, context->adlen);
559-
blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
559+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
560560

561561
if (context->ad != NULL) {
562-
blake2b_update(&BlakeHash, (const uint8_t *)context->ad,
562+
ar2_blake2b_update(&BlakeHash, (const uint8_t *)context->ad,
563563
context->adlen);
564564
}
565565

566-
blake2b_final(&BlakeHash, blockhash, ARGON2_PREHASH_DIGEST_LENGTH);
566+
ar2_blake2b_final(&BlakeHash, blockhash, ARGON2_PREHASH_DIGEST_LENGTH);
567567
}
568568

569569
int ar2d_initialize(argon2_instance_t *instance, argon2_context *context) {

0 commit comments

Comments
 (0)