Skip to contentSkip to conversation

md5: Export step-by-step API

PATCH New Benoît Thébaudeau 3 participants 5 messages Jul 20, 2012 – Sep 2, 2012 Library code

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 md5: Export step-by-step API

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.

---
 .../include/u-boot/md5.h                           |    4 ++++
 {u-boot-66714b1.orig => u-boot-66714b1}/lib/md5.c  |    6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)
include/u-boot/md5.h +4 -0
index e09c16a..e5cb923 100644
@@ -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.
lib/md5.c +3 -3
index 2ae4a06..688b725 100644
@@ -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;
#3 lore raw

PATCH 1/1 md5: Export step-by-step API

Quoted 9 lines · Beno?t Th?baudeau

Dear Wolfgang Denk,

Quoted 2 lines · Mike Frysinger

-mike

Can you apply it now that the merge window is open?

Thanks in advance.

Can someone answer, please?

Best regards,
Beno?t

#4 lore raw

PATCH 1/1 md5: Export step-by-step API

In reply to Benoît Thébaudeau

Dear Beno?t Th?baudeau,

Quoted 10 lines · In message <[email protected]> you…

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.

---
 .../include/u-boot/md5.h                           |    4 ++++
 {u-boot-66714b1.orig => u-boot-66714b1}/lib/md5.c  |    6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

As is, there are no users for this code, and we avoid adding dead code.

Please re-submit with the code that actually uses this feature.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
When all else fails, read the instructions.