diff options
Diffstat (limited to 'package/busybox/patches/501-libbb_hash.patch')
-rw-r--r-- | package/busybox/patches/501-libbb_hash.patch | 88 |
1 files changed, 37 insertions, 51 deletions
diff --git a/package/busybox/patches/501-libbb_hash.patch b/package/busybox/patches/501-libbb_hash.patch index 9c8d082..89379e2 100644 --- a/package/busybox/patches/501-libbb_hash.patch +++ b/package/busybox/patches/501-libbb_hash.patch @@ -1,8 +1,25 @@ -Index: busybox-1.8.1/coreutils/md5_sha1_sum.c -=================================================================== ---- busybox-1.8.1.orig/coreutils/md5_sha1_sum.c 2007-11-10 02:40:51.000000000 +0100 -+++ busybox-1.8.1/coreutils/md5_sha1_sum.c 2007-11-10 17:05:59.957468399 +0100 -@@ -8,75 +8,10 @@ +--- a/include/libbb.h ++++ b/include/libbb.h +@@ -1211,6 +1211,7 @@ + extern const char bb_uuenc_tbl_std[]; + void bb_uuencode(char *store, const void *s, int length, const char *tbl); + ++typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t; + typedef struct sha1_ctx_t { + uint32_t count[2]; + uint32_t hash[5]; +@@ -1232,6 +1233,8 @@ + void md5_begin(md5_ctx_t *ctx); + void md5_hash(const void *data, size_t length, md5_ctx_t *ctx); + void *md5_end(void *resbuf, md5_ctx_t *ctx); ++unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned hash_length); ++uint8_t *hash_file(const char *filename, hash_algo_t hash_algo); + + uint32_t *crc32_filltable(uint32_t *tbl256, int endian); + +--- a/coreutils/md5_sha1_sum.c ++++ b/coreutils/md5_sha1_sum.c +@@ -8,72 +8,10 @@ #include "libbb.h" @@ -19,7 +36,7 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c - /* xzalloc zero-terminates */ - char *hex_value = xzalloc((hash_length * 2) + 1); - bin2hex(hex_value, (char*)hash_value, hash_length); -- return hex_value; +- return (unsigned char *)hex_value; -} - -static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo) @@ -34,12 +51,9 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c - void (*update)(const void*, size_t, void*); - void (*final)(void*, void*); - -- src_fd = STDIN_FILENO; -- if (NOT_LONE_DASH(filename)) { -- src_fd = open_or_warn(filename, O_RDONLY); -- if (src_fd < 0) { -- return NULL; -- } +- src_fd = open_or_warn_stdin(filename); +- if (src_fd < 0) { +- return NULL; - } - - /* figure specific hash algorithims */ @@ -76,46 +90,21 @@ Index: busybox-1.8.1/coreutils/md5_sha1_sum.c -} - int md5_sha1_sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; - int md5_sha1_sum_main(int argc, char **argv) + int md5_sha1_sum_main(int argc ATTRIBUTE_UNUSED, char **argv) { -Index: busybox-1.8.1/include/libbb.h -=================================================================== ---- busybox-1.8.1.orig/include/libbb.h 2007-11-10 16:55:07.048261223 +0100 -+++ busybox-1.8.1/include/libbb.h 2007-11-10 17:04:07.543062264 +0100 -@@ -1022,6 +1022,7 @@ - extern const char bb_uuenc_tbl_std[]; - void bb_uuencode(char *store, const void *s, int length, const char *tbl); - -+typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t; - typedef struct sha1_ctx_t { - uint32_t count[2]; - uint32_t hash[5]; -@@ -1043,6 +1044,8 @@ - void md5_begin(md5_ctx_t *ctx); - void md5_hash(const void *data, size_t length, md5_ctx_t *ctx); - void *md5_end(void *resbuf, md5_ctx_t *ctx); -+unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned hash_length); -+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo); - - uint32_t *crc32_filltable(uint32_t *tbl256, int endian); - -Index: busybox-1.8.1/libbb/Kbuild -=================================================================== ---- busybox-1.8.1.orig/libbb/Kbuild 2007-11-10 02:40:52.000000000 +0100 -+++ busybox-1.8.1/libbb/Kbuild 2007-11-10 17:04:07.547062497 +0100 -@@ -39,6 +39,7 @@ +--- a/libbb/Kbuild ++++ b/libbb/Kbuild +@@ -40,6 +40,7 @@ lib-y += get_last_path_component.o lib-y += get_line_from_file.o lib-y += getopt32.o +lib-y += hash.o + lib-y += getpty.o lib-y += herror_msg.o lib-y += herror_msg_and_die.o - lib-y += human_readable.o -Index: busybox-1.8.1/libbb/hash.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ busybox-1.8.1/libbb/hash.c 2007-11-10 17:04:07.551062729 +0100 -@@ -0,0 +1,81 @@ +--- /dev/null ++++ b/libbb/hash.c +@@ -0,0 +1,78 @@ +/* + * Copyright (C) 2003 Glenn L. McGrath + * Copyright (C) 2003-2004 Erik Andersen @@ -155,12 +144,9 @@ Index: busybox-1.8.1/libbb/hash.c + void (*update)(const void*, size_t, void*); + void (*final)(void*, void*); + -+ src_fd = STDIN_FILENO; -+ if (NOT_LONE_DASH(filename)) { -+ src_fd = open_or_warn(filename, O_RDONLY); -+ if (src_fd < 0) { -+ return NULL; -+ } ++ src_fd = open_or_warn_stdin(filename); ++ if (src_fd < 0) { ++ return NULL; + } + + /* figure specific hash algorithims */ |