summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2023-07-08 07:49:45 +0000
committerjsing <>2023-07-08 07:49:45 +0000
commit1ae7ea109349aaa24cb71b5782db07ca2ba4670b (patch)
tree3b7ed88d22ce99e6bd1bfab6810836dff771f007 /src
parent24c6aa400c6d50a62ba731d79e11e0f9116a83d3 (diff)
downloadopenbsd-1ae7ea109349aaa24cb71b5782db07ca2ba4670b.tar.gz
openbsd-1ae7ea109349aaa24cb71b5782db07ca2ba4670b.tar.bz2
openbsd-1ae7ea109349aaa24cb71b5782db07ca2ba4670b.zip
Inline HASH_MAKE_STRING macro.
No change to generated assembly.
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/sha/sha1.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/lib/libcrypto/sha/sha1.c b/src/lib/libcrypto/sha/sha1.c
index a8c250dc6e..a0ec259f7e 100644
--- a/src/lib/libcrypto/sha/sha1.c
+++ b/src/lib/libcrypto/sha/sha1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sha1.c,v 1.7 2023/07/08 07:43:44 jsing Exp $ */ 1/* $OpenBSD: sha1.c,v 1.8 2023/07/08 07:49:45 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -72,15 +72,6 @@
72#define HASH_CTX SHA_CTX 72#define HASH_CTX SHA_CTX
73#define HASH_CBLOCK SHA_CBLOCK 73#define HASH_CBLOCK SHA_CBLOCK
74 74
75#define HASH_MAKE_STRING(c, s) do { \
76 unsigned long ll; \
77 ll=(c)->h0; HOST_l2c(ll,(s)); \
78 ll=(c)->h1; HOST_l2c(ll,(s)); \
79 ll=(c)->h2; HOST_l2c(ll,(s)); \
80 ll=(c)->h3; HOST_l2c(ll,(s)); \
81 ll=(c)->h4; HOST_l2c(ll,(s)); \
82 } while (0)
83
84#define HASH_BLOCK_DATA_ORDER sha1_block_data_order 75#define HASH_BLOCK_DATA_ORDER sha1_block_data_order
85#define Xupdate(a, ix, ia, ib, ic, id) ( (a)=(ia^ib^ic^id), \ 76#define Xupdate(a, ix, ia, ib, ic, id) ( (a)=(ia^ib^ic^id), \
86 ix=(a)=ROTATE((a),1) \ 77 ix=(a)=ROTATE((a),1) \
@@ -528,11 +519,19 @@ SHA1_Final(unsigned char *md, SHA_CTX *c)
528 c->num = 0; 519 c->num = 0;
529 memset(p, 0, SHA_CBLOCK); 520 memset(p, 0, SHA_CBLOCK);
530 521
531#ifndef HASH_MAKE_STRING 522 do {
532#error "HASH_MAKE_STRING must be defined!" 523 unsigned long ll;
533#else 524 ll = c->h0;
534 HASH_MAKE_STRING(c, md); 525 HOST_l2c(ll, md);
535#endif 526 ll = c->h1;
527 HOST_l2c(ll, md);
528 ll = c->h2;
529 HOST_l2c(ll, md);
530 ll = c->h3;
531 HOST_l2c(ll, md);
532 ll = c->h4;
533 HOST_l2c(ll, md);
534 } while (0);
536 535
537 return 1; 536 return 1;
538} 537}