No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
#include <string.h> /* for memcpy() */
#include "md5.h"
#include <string.h> /* for memcpy() */
#include "md5.h"
dict_add(dict,"md5",new_closure(&st->cl));
dict_add(dict,"md5",new_closure(&st->cl));
- uint8_t ctx[st->ops.slen];
- md5_init(ctx);
- md5_update(ctx,testinput,strlen(testinput));
- md5_final(ctx,digest);
+ hash_hash(&st->ops,testinput,strlen(testinput),digest);
for (i=0; i<16; i++) {
if (digest[i]!=expected[i]) {
fatal("md5 module failed self-test");
for (i=0; i<16; i++) {
if (digest[i]!=expected[i]) {
fatal("md5 module failed self-test");
}
static void rsa_hash(struct rsacommon *c, const uint8_t *buf, int32_t len)
{
}
static void rsa_hash(struct rsacommon *c, const uint8_t *buf, int32_t len)
{
- uint8_t hst[c->hashi->slen];
- c->hashi->init(hst);
- c->hashi->update(hst,buf,len);
- c->hashi->final(hst,c->hashbuf);
+ hash_hash(c->hashi,buf,len,c->hashbuf);
}
static void emsa_pkcs1(MP_INT *n, MP_INT *m,
}
static void emsa_pkcs1(MP_INT *n, MP_INT *m,
/* #define SHA1HANDSOFF */
#include "secnet.h"
/* #define SHA1HANDSOFF */
#include "secnet.h"
#include <stdio.h>
#include <string.h>
#include <stdio.h>
#include <string.h>
dict_add(dict,"sha1",new_closure(&st->cl));
dict_add(dict,"sha1",new_closure(&st->cl));
- uint8_t ctx[st->ops.slen];
- sha1_init(ctx);
- sha1_update(ctx,testinput,strlen(testinput));
- sha1_final(ctx,digest);
+ hash_hash(&st->ops,testinput,strlen(testinput),digest);
for (i=0; i<20; i++) {
if (digest[i]!=expected[i]) {
fatal("sha1 module failed self-test");
for (i=0; i<20; i++) {
if (digest[i]!=expected[i]) {
fatal("sha1 module failed self-test");
+void hash_hash(const struct hash_if *hashi, const void *msg, int32_t len,
+ uint8_t *digest) {
+ uint8_t hst[hashi->slen];
+ hashi->init(hst);
+ hashi->update(hst,msg,len);
+ hashi->final(hst,digest);
+}
+
void util_module(dict_t *dict)
{
add_closure(dict,"sysbuffer",buffer_apply);
void util_module(dict_t *dict)
{
add_closure(dict,"sysbuffer",buffer_apply);
extern int consttime_memeq(const void *s1, const void *s2, size_t n);
extern int consttime_memeq(const void *s1, const void *s2, size_t n);
+void hash_hash(const struct hash_if *hashi, const void *msg, int32_t len,
+ uint8_t *digest /* hi->hlen bytes */);
+
const char *iaddr_to_string(const union iaddr *ia);
int iaddr_socklen(const union iaddr *ia);
const char *iaddr_to_string(const union iaddr *ia);
int iaddr_socklen(const union iaddr *ia);