upgrade busybox to v1.11.1 and add current upstream fixes
[openwrt/svn-archive/archive.git] / package / busybox / patches / 501-libbb_hash.patch
index 9c8d0825d424d48bfe22100e00f8ab02f5777782..89379e270bd197c0bd0ba264e9c403bcb2e74502 100644 (file)
@@ -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 */