Generalise digest_algorithm to crypto_algorithm.
[people/xl0/gpxe.git] / src / crypto / md5.c
index 182b625..6064233 100644 (file)
@@ -177,7 +177,8 @@ static void md5_init(void *context)
        mctx->byte_count = 0;
 }
 
-static void md5_update(void *context, const void *data, size_t len)
+static void md5_update(void *context, const void *data, void *dst __unused,
+                      size_t len)
 {
        struct md5_ctx *mctx = context;
        const u32 avail = sizeof(mctx->block) - (mctx->byte_count & 0x3f);
@@ -207,7 +208,7 @@ static void md5_update(void *context, const void *data, size_t len)
        memcpy(mctx->block, data, len);
 }
 
-static void md5_finish(void *context, void *out)
+static void md5_final(void *context, void *out)
 {
        struct md5_ctx *mctx = context;
        const unsigned int offset = mctx->byte_count & 0x3f;
@@ -233,11 +234,12 @@ static void md5_finish(void *context, void *out)
        memset(mctx, 0, sizeof(*mctx));
 }
 
-struct digest_algorithm md5_algorithm = {
+struct crypto_algorithm md5_algorithm = {
        .name           = "md5",
-       .context_len    = sizeof ( struct md5_ctx ),
-       .digest_len     = MD5_DIGEST_SIZE,
+       .ctxsize        = sizeof ( struct md5_ctx ),
+       .blocksize      = 1,
+       .digestsize     = MD5_DIGEST_SIZE,
        .init           = md5_init,
-       .update         = md5_update,
-       .finish         = md5_finish,
+       .encode         = md5_update,
+       .final          = md5_final,
 };