From 7fc47129cf6a25b01b551816ac58ff3f53320123 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Sat, 7 Jun 2014 21:53:04 -0700 Subject: [PATCH] Switch md5 over to openssl rather than libc. It doesn't make any sense for the C library to contain private stuff that's only used by toolbox. Rather than move that stuff out of bionic and into here, let's just use the same MD5 implementation the rest of the system's using. Change-Id: Ia1c73164124094b532af3453b90c4bd1ebfdaa24 --- toolbox/Android.mk | 140 +++++++++++++++++++++++---------------------- toolbox/md5.c | 8 +-- 2 files changed, 73 insertions(+), 75 deletions(-) diff --git a/toolbox/Android.mk b/toolbox/Android.mk index fddf0a901..77df4d43a 100644 --- a/toolbox/Android.mk +++ b/toolbox/Android.mk @@ -2,73 +2,73 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) TOOLS := \ - ls \ - mount \ cat \ - ps \ - kill \ - ln \ - insmod \ - rmmod \ - lsmod \ - ifconfig \ - rm \ - mkdir \ - rmdir \ - getevent \ - sendevent \ - date \ - wipe \ - sync \ - umount \ - start \ - stop \ - notify \ - cmp \ - dmesg \ - route \ - hd \ - dd \ - df \ - getprop \ - setprop \ - watchprops \ - log \ - sleep \ - renice \ - printenv \ - smd \ + chcon \ chmod \ chown \ - newfs_msdos \ - netstat \ - ioctl \ - mv \ - schedtop \ - top \ - iftop \ + clear \ + cmp \ + date \ + dd \ + df \ + dmesg \ + du \ + getenforce \ + getevent \ + getprop \ + getsebool \ + hd \ id \ + ifconfig \ + iftop \ + insmod \ + ioctl \ + ionice \ + kill \ + ln \ + load_policy \ + log \ + ls \ + lsmod \ + lsof \ + md5 \ + mkdir \ + mkswap \ + mount \ + mv \ + nandread \ + netstat \ + newfs_msdos \ + notify \ + printenv \ + ps \ + readlink \ + renice \ + restorecon \ + rm \ + rmdir \ + rmmod \ + route \ + runcon \ + schedtop \ + sendevent \ + setenforce \ + setprop \ + setsebool \ + sleep \ + smd \ + start \ + stop \ + swapoff \ + swapon \ + sync \ + top \ + touch \ + umount \ uptime \ vmstat \ - nandread \ - ionice \ - touch \ - lsof \ - du \ - md5 \ - clear \ - getenforce \ - setenforce \ - chcon \ - restorecon \ - runcon \ - getsebool \ - setsebool \ - load_policy \ - swapon \ - swapoff \ - mkswap \ - readlink + watchprops \ + wipe \ ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) TOOLS += r @@ -92,21 +92,25 @@ LOCAL_SRC_FILES := \ toolbox.c \ uid_from_user.c \ -LOCAL_C_INCLUDES := bionic/libc/bionic - LOCAL_CFLAGS += \ -std=gnu99 \ -Werror -Wno-unused-parameter \ -include bsd-compatibility.h \ +LOCAL_C_INCLUDES += external/openssl/include + LOCAL_SHARED_LIBRARIES := \ - libcutils \ - liblog \ - libc \ - libusbhost \ - libselinux + libcrypto \ + libcutils \ + libselinux \ + +# libusbhost is only used by lsusb, and that isn't usually included in toolbox. +# The linker strips out all the unused library code in the normal case. +LOCAL_STATIC_LIBRARIES := \ + libusbhost \ LOCAL_MODULE := toolbox +LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk # Including this will define $(intermediates). # diff --git a/toolbox/md5.c b/toolbox/md5.c index 2fb8b053a..5de4d9ed1 100644 --- a/toolbox/md5.c +++ b/toolbox/md5.c @@ -4,12 +4,7 @@ #include #include #include -#include - -/* When this was written, bionic's md5.h did not define this. */ -#ifndef MD5_DIGEST_LENGTH -#define MD5_DIGEST_LENGTH 16 -#endif +#include static int usage() { @@ -30,7 +25,6 @@ static int do_md5(const char *path) return -1; } - /* Note that bionic's MD5_* functions return void. */ MD5_Init(&md5_ctx); while (1) {