summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorjsing <>2024-03-26 06:54:20 +0000
committerjsing <>2024-03-26 06:54:20 +0000
commita2135d00d6e93e4eee702eaba3d6702e8638fd4e (patch)
treed6ae783300978898dd00395766cc781c90f5c8ed /src/lib
parentca877924b2e990690d4c771062a6fb0d95544bb9 (diff)
downloadopenbsd-a2135d00d6e93e4eee702eaba3d6702e8638fd4e.tar.gz
openbsd-a2135d00d6e93e4eee702eaba3d6702e8638fd4e.tar.bz2
openbsd-a2135d00d6e93e4eee702eaba3d6702e8638fd4e.zip
Expand HASH_* defines.
No change to generated assembly.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/md4/md4.c54
1 files changed, 28 insertions, 26 deletions
diff --git a/src/lib/libcrypto/md4/md4.c b/src/lib/libcrypto/md4/md4.c
index fa40f5bdef..94de291260 100644
--- a/src/lib/libcrypto/md4/md4.c
+++ b/src/lib/libcrypto/md4/md4.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: md4.c,v 1.9 2024/03/26 06:40:29 jsing Exp $ */ 1/* $OpenBSD: md4.c,v 1.10 2024/03/26 06:54:20 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 *
@@ -93,47 +93,47 @@ __END_HIDDEN_DECLS
93#include "md32_common.h" 93#include "md32_common.h"
94 94
95int 95int
96HASH_UPDATE(HASH_CTX *c, const void *data_, size_t len) 96MD4_Update(MD4_CTX *c, const void *data_, size_t len)
97{ 97{
98 const unsigned char *data = data_; 98 const unsigned char *data = data_;
99 unsigned char *p; 99 unsigned char *p;
100 HASH_LONG l; 100 MD4_LONG l;
101 size_t n; 101 size_t n;
102 102
103 if (len == 0) 103 if (len == 0)
104 return 1; 104 return 1;
105 105
106 l = (c->Nl + (((HASH_LONG)len) << 3))&0xffffffffUL; 106 l = (c->Nl + (((MD4_LONG)len) << 3))&0xffffffffUL;
107 /* 95-05-24 eay Fixed a bug with the overflow handling, thanks to 107 /* 95-05-24 eay Fixed a bug with the overflow handling, thanks to
108 * Wei Dai <weidai@eskimo.com> for pointing it out. */ 108 * Wei Dai <weidai@eskimo.com> for pointing it out. */
109 if (l < c->Nl) /* overflow */ 109 if (l < c->Nl) /* overflow */
110 c->Nh++; 110 c->Nh++;
111 c->Nh+=(HASH_LONG)(len>>29); /* might cause compiler warning on 16-bit */ 111 c->Nh+=(MD4_LONG)(len>>29); /* might cause compiler warning on 16-bit */
112 c->Nl = l; 112 c->Nl = l;
113 113
114 n = c->num; 114 n = c->num;
115 if (n != 0) { 115 if (n != 0) {
116 p = (unsigned char *)c->data; 116 p = (unsigned char *)c->data;
117 117
118 if (len >= HASH_CBLOCK || len + n >= HASH_CBLOCK) { 118 if (len >= MD4_CBLOCK || len + n >= MD4_CBLOCK) {
119 memcpy (p + n, data, HASH_CBLOCK - n); 119 memcpy (p + n, data, MD4_CBLOCK - n);
120 HASH_BLOCK_DATA_ORDER (c, p, 1); 120 md4_block_data_order (c, p, 1);
121 n = HASH_CBLOCK - n; 121 n = MD4_CBLOCK - n;
122 data += n; 122 data += n;
123 len -= n; 123 len -= n;
124 c->num = 0; 124 c->num = 0;
125 memset (p,0,HASH_CBLOCK); /* keep it zeroed */ 125 memset(p, 0, MD4_CBLOCK); /* keep it zeroed */
126 } else { 126 } else {
127 memcpy (p + n, data, len); 127 memcpy(p + n, data, len);
128 c->num += (unsigned int)len; 128 c->num += (unsigned int)len;
129 return 1; 129 return 1;
130 } 130 }
131 } 131 }
132 132
133 n = len/HASH_CBLOCK; 133 n = len / MD4_CBLOCK;
134 if (n > 0) { 134 if (n > 0) {
135 HASH_BLOCK_DATA_ORDER (c, data, n); 135 md4_block_data_order(c, data, n);
136 n *= HASH_CBLOCK; 136 n *= MD4_CBLOCK;
137 data += n; 137 data += n;
138 len -= n; 138 len -= n;
139 } 139 }
@@ -141,17 +141,19 @@ HASH_UPDATE(HASH_CTX *c, const void *data_, size_t len)
141 if (len != 0) { 141 if (len != 0) {
142 p = (unsigned char *)c->data; 142 p = (unsigned char *)c->data;
143 c->num = (unsigned int)len; 143 c->num = (unsigned int)len;
144 memcpy (p, data, len); 144 memcpy(p, data, len);
145 } 145 }
146 return 1; 146 return 1;
147} 147}
148 148
149void HASH_TRANSFORM (HASH_CTX *c, const unsigned char *data) 149void
150MD4_Transform(MD4_CTX *c, const unsigned char *data)
150{ 151{
151 HASH_BLOCK_DATA_ORDER (c, data, 1); 152 md4_block_data_order(c, data, 1);
152} 153}
153 154
154int HASH_FINAL (unsigned char *md, HASH_CTX *c) 155int
156MD4_Final(unsigned char *md, MD4_CTX *c)
155{ 157{
156 unsigned char *p = (unsigned char *)c->data; 158 unsigned char *p = (unsigned char *)c->data;
157 size_t n = c->num; 159 size_t n = c->num;
@@ -159,14 +161,14 @@ int HASH_FINAL (unsigned char *md, HASH_CTX *c)
159 p[n] = 0x80; /* there is always room for one */ 161 p[n] = 0x80; /* there is always room for one */
160 n++; 162 n++;
161 163
162 if (n > (HASH_CBLOCK - 8)) { 164 if (n > (MD4_CBLOCK - 8)) {
163 memset (p + n, 0, HASH_CBLOCK - n); 165 memset(p + n, 0, MD4_CBLOCK - n);
164 n = 0; 166 n = 0;
165 HASH_BLOCK_DATA_ORDER (c, p, 1); 167 md4_block_data_order(c, p, 1);
166 } 168 }
167 memset (p + n, 0, HASH_CBLOCK - 8 - n); 169 memset(p + n, 0, MD4_CBLOCK - 8 - n);
168 170
169 p += HASH_CBLOCK - 8; 171 p += MD4_CBLOCK - 8;
170#if defined(DATA_ORDER_IS_BIG_ENDIAN) 172#if defined(DATA_ORDER_IS_BIG_ENDIAN)
171 HOST_l2c(c->Nh, p); 173 HOST_l2c(c->Nh, p);
172 HOST_l2c(c->Nl, p); 174 HOST_l2c(c->Nl, p);
@@ -174,10 +176,10 @@ int HASH_FINAL (unsigned char *md, HASH_CTX *c)
174 HOST_l2c(c->Nl, p); 176 HOST_l2c(c->Nl, p);
175 HOST_l2c(c->Nh, p); 177 HOST_l2c(c->Nh, p);
176#endif 178#endif
177 p -= HASH_CBLOCK; 179 p -= MD4_CBLOCK;
178 HASH_BLOCK_DATA_ORDER (c, p, 1); 180 md4_block_data_order(c, p, 1);
179 c->num = 0; 181 c->num = 0;
180 memset (p, 0, HASH_CBLOCK); 182 memset(p, 0, MD4_CBLOCK);
181 183
182#ifndef HASH_MAKE_STRING 184#ifndef HASH_MAKE_STRING
183#error "HASH_MAKE_STRING must be defined!" 185#error "HASH_MAKE_STRING must be defined!"