might also handle unaligned data to *_finito
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1991 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -246,6 +246,18 @@ md4_finito (struct md4 *m, void *res)
|
|||||||
len = swap_u_int32_t (len);
|
len = swap_u_int32_t (len);
|
||||||
memcpy (zeros + dstart, &len, sizeof(len));
|
memcpy (zeros + dstart, &len, sizeof(len));
|
||||||
md4_update (m, zeros, dstart + 8);
|
md4_update (m, zeros, dstart + 8);
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
u_char *r = (u_char *)res;
|
||||||
|
|
||||||
|
for (i = 0; i < 4; ++i) {
|
||||||
|
r[4*i] = m->counter[i] & 0xFF;
|
||||||
|
r[4*i+1] = (m->counter[i] >> 8) & 0xFF;
|
||||||
|
r[4*i+2] = (m->counter[i] >> 16) & 0xFF;
|
||||||
|
r[4*i+3] = (m->counter[i] >> 24) & 0xFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
u_int32_t *r = (u_int32_t *)res;
|
u_int32_t *r = (u_int32_t *)res;
|
||||||
@@ -253,4 +265,5 @@ md4_finito (struct md4 *m, void *res)
|
|||||||
for (i = 0; i < 4; ++i)
|
for (i = 0; i < 4; ++i)
|
||||||
r[i] = swap_u_int32_t (m->counter[i]);
|
r[i] = swap_u_int32_t (m->counter[i]);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
@@ -294,6 +294,18 @@ sha_finito (struct sha *m, void *res)
|
|||||||
len = swap_u_int32_t (len);
|
len = swap_u_int32_t (len);
|
||||||
memcpy (zeros + dstart + 4, &len, sizeof(len));
|
memcpy (zeros + dstart + 4, &len, sizeof(len));
|
||||||
sha_update (m, zeros, dstart + 8);
|
sha_update (m, zeros, dstart + 8);
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
u_char *r = (u_char *)res;
|
||||||
|
|
||||||
|
for (i = 0; i < 5; ++i) {
|
||||||
|
r[4*i] = m->counter[i] & 0xFF;
|
||||||
|
r[4*i+1] = (m->counter[i] >> 8) & 0xFF;
|
||||||
|
r[4*i+2] = (m->counter[i] >> 16) & 0xFF;
|
||||||
|
r[4*i+3] = (m->counter[i] >> 24) & 0xFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
u_int32_t *r = (u_int32_t *)res;
|
u_int32_t *r = (u_int32_t *)res;
|
||||||
@@ -301,4 +313,5 @@ sha_finito (struct sha *m, void *res)
|
|||||||
for (i = 0; i < 5; ++i)
|
for (i = 0; i < 5; ++i)
|
||||||
r[i] = swap_u_int32_t (m->counter[i]);
|
r[i] = swap_u_int32_t (m->counter[i]);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user