]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Add MD5 support to the new uImage format
authorBartlomiej Sieka <tur@semihalf.com>
Fri, 14 Mar 2008 15:22:34 +0000 (16:22 +0100)
committerBartlomiej Sieka <tur@semihalf.com>
Fri, 14 Mar 2008 15:22:34 +0000 (16:22 +0100)
Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
Makefile
common/image.c
include/image.h
tools/.gitignore
tools/Makefile

index c56518fb9e5a5b7c018be1f18d7fff2a767aadf2..3bb8a74dacfaf7e9d07e575f631b061ad37db04f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2873,7 +2873,7 @@ clobber:  clean
        @rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \
                $(obj)cscope.* $(obj)*.*~
        @rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL)
-       @rm -f $(obj)tools/{crc32.c,environment.c,env/crc32.c,sha1.c,inca-swap-bytes}
+       @rm -f $(obj)tools/{crc32.c,environment.c,env/crc32.c,md5.c,sha1.c,inca-swap-bytes}
        @rm -f $(obj)tools/{image.c,fdt.c,fdt_ro.c,fdt_rw.c,fdt_strerror.c}
        @rm -f $(obj)tools/{fdt_wip.c,libfdt_internal.h}
        @rm -f $(obj)cpu/mpc824x/bedbug_603e.c
index a2a739e79d41f288ef44924f75cdaaaa0b1db7c2..6508df955ce6489a42698021cabca96e9789afa2 100644 (file)
@@ -54,6 +54,7 @@
 #endif
 
 #if defined(CONFIG_FIT)
+#include <md5.h>
 #include <sha1.h>
 
 static int fit_check_ramdisk (const void *fit, int os_noffset,
@@ -70,6 +71,7 @@ static image_header_t* image_get_ramdisk (ulong rd_addr, uint8_t arch,
                                                int verify);
 #else
 #include "mkimage.h"
+#include <md5.h>
 #include <time.h>
 #include <image.h>
 #endif /* !USE_HOSTCC*/
@@ -1940,8 +1942,8 @@ static int calculate_hash (const void *data, int data_len, const char *algo,
                                (unsigned char *) value);
                *value_len = 20;
        } else if (strcmp (algo, "md5") == 0 ) {
-               printf ("MD5 not supported\n");
-               *value_len = 0;
+               md5 ((unsigned char *)data, data_len, value);
+               *value_len = 16;
        } else {
                debug ("Unsupported hash alogrithm\n");
                return -1;
index fbd8c304e4b4840771381ca2a1a3b3de53e61a89..f22dafd650e8e40b69294b076594f607a6c0c76e 100644 (file)
@@ -64,6 +64,7 @@
 #include <fdt.h>
 #include <libfdt.h>
 #include <fdt_support.h>
+#define CONFIG_MD5             /* FIT images need MD5 support */
 #endif
 
 /*
index 0ce2e77bd6b8c7e7cdcbb98d81c8d177e585fde4..979f2dac0db949952ba7639a8af5db824add61d7 100644 (file)
@@ -4,6 +4,7 @@
 /environment.c
 /gen_eth_addr
 /img2srec
+/md5.c
 /mkimage
 /sha1.c
 /ubsha1
index aa4af1823b7810715e0afc1aae0eb6dee75a61ed..9f0dedfa3bdd0c81c916d841625ef12482ded0e4 100644 (file)
@@ -23,7 +23,7 @@
 
 BIN_FILES      = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) ubsha1$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX)
 
-OBJ_LINKS      = environment.o crc32.o sha1.o image.o
+OBJ_LINKS      = environment.o crc32.o md5.o sha1.o image.o
 OBJ_FILES      = img2srec.o mkimage.o envcrc.o ubsha1.o gen_eth_addr.o bmp_logo.o
 
 ifeq ($(ARCH),mips)
@@ -143,7 +143,7 @@ $(obj)img2srec$(SFX):       $(obj)img2srec.o
                $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
                $(STRIP) $@
 
-$(obj)mkimage$(SFX):   $(obj)mkimage.o $(obj)crc32.o $(obj)image.o $(obj)sha1.o $(LIBFDT_OBJ_FILES)
+$(obj)mkimage$(SFX):   $(obj)mkimage.o $(obj)crc32.o $(obj)image.o $(obj)md5.o $(obj)sha1.o $(LIBFDT_OBJ_FILES)
                $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
                $(STRIP) $@
 
@@ -176,6 +176,9 @@ $(obj)ubsha1.o:     $(src)ubsha1.c
 $(obj)crc32.o: $(obj)crc32.c
                $(CC) -g $(CFLAGS) -c -o $@ $<
 
+$(obj)md5.o:   $(obj)md5.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
+
 $(obj)sha1.o:  $(obj)sha1.c
                $(CC) -g $(CFLAGS) -c -o $@ $<
 
@@ -237,6 +240,10 @@ $(obj)crc32.c:
                @rm -f $(obj)crc32.c
                ln -s $(src)../lib_generic/crc32.c $(obj)crc32.c
 
+$(obj)md5.c:
+               @rm -f $(obj)md5.c
+               ln -s $(src)../lib_generic/md5.c $(obj)md5.c
+
 $(obj)sha1.c:
                @rm -f $(obj)sha1.c
                ln -s $(src)../lib_generic/sha1.c $(obj)sha1.c