[U-Boot] [PATCH] md5: Export step-by-step API

Benoît Thébaudeau benoit.thebaudeau at advansee.com
Fri Jul 20 15:34:40 CEST 2012


Export the MD5 step-by-step API so that it is possible for the lib users to
digest files by chunks. This is especially useful for very large files that
would not fit into the embedded RAM.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau at advansee.com>
Cc: Wolfgang Denk <wd at denx.de>
---
 .../include/u-boot/md5.h                           |    4 ++++
 {u-boot-66714b1.orig => u-boot-66714b1}/lib/md5.c  |    6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git u-boot-66714b1.orig/include/u-boot/md5.h u-boot-66714b1/include/u-boot/md5.h
index e09c16a..e5cb923 100644
--- u-boot-66714b1.orig/include/u-boot/md5.h
+++ u-boot-66714b1/include/u-boot/md5.h
@@ -17,6 +17,10 @@ struct MD5Context {
 	};
 };
 
+void MD5Init(struct MD5Context *ctx);
+void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len);
+void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
+
 /*
  * Calculate and store in 'output' the MD5 digest of 'len' bytes at
  * 'input'. 'output' must have enough space to hold 16 bytes.
diff --git u-boot-66714b1.orig/lib/md5.c u-boot-66714b1/lib/md5.c
index 2ae4a06..688b725 100644
--- u-boot-66714b1.orig/lib/md5.c
+++ u-boot-66714b1/lib/md5.c
@@ -55,7 +55,7 @@ byteReverse(unsigned char *buf, unsigned longs)
  * Start MD5 accumulation.  Set bit count to 0 and buffer to mysterious
  * initialization constants.
  */
-static void
+void
 MD5Init(struct MD5Context *ctx)
 {
 	ctx->buf[0] = 0x67452301;
@@ -71,7 +71,7 @@ MD5Init(struct MD5Context *ctx)
  * Update context to reflect the concatenation of another buffer full
  * of bytes.
  */
-static void
+void
 MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
 {
 	register __u32 t;
@@ -120,7 +120,7 @@ MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
  * Final wrapup - pad to 64-byte boundary with the bit pattern
  * 1 0* (64-bit count of bits processed, MSB-first)
  */
-static void
+void
 MD5Final(unsigned char digest[16], struct MD5Context *ctx)
 {
 	unsigned int count;


More information about the U-Boot mailing list