summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-06-02 06:12:19 +0000
committerNeil Brown <neilb@suse.de>2006-06-02 06:12:19 +0000
commit8268ed740379a94300d20db6f1df1702320fe6fd (patch)
treea8fbae0338aaee137f22c5e5c28a30f54133b316
parentab56093f3b0fd59c49a5cdef22c0480e589f0989 (diff)
downloadmdadm-8268ed740379a94300d20db6f1df1702320fe6fd.tar.gz
mdadm-8268ed740379a94300d20db6f1df1702320fe6fd.tar.xz
mdadm-8268ed740379a94300d20db6f1df1702320fe6fd.zip
Remove libssl dependancy and always use sha1.c code
Apparently there are license issues with openssl, so just use sha1.c always. This means we can get rid of SHA1.c Signed-off-by: Neil Brown <neilb@suse.de>
-rw-r--r--Makefile13
-rw-r--r--SHA1.c19
-rw-r--r--super0.c42
3 files changed, 27 insertions, 47 deletions
diff --git a/Makefile b/Makefile
index ff2bde9..8ca3d79 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,6 @@
TCC = tcc
UCLIBC_GCC = $(shell for nm in i386-uclibc-linux-gcc i386-uclibc-gcc; do which $$nm > /dev/null && { echo $$nm ; exit; } ; done; echo false No uclibc found )
DIET_GCC = diet gcc
-LDLIBS=-lssl
KLIBC=/home/src/klibc/klibc-0.77
@@ -67,15 +66,15 @@ MAN8DIR = $(MANDIR)/man8
OBJS = mdadm.o config.o mdstat.o ReadMe.o util.o Manage.o Assemble.o Build.o \
Create.o Detail.o Examine.o Grow.o Monitor.o dlink.o Kill.o Query.o \
- mdopen.o super0.o super1.o bitmap.o restripe.o sysfs.o
+ mdopen.o super0.o super1.o bitmap.o restripe.o sysfs.o sha1.o
SRCS = mdadm.c config.c mdstat.c ReadMe.c util.c Manage.c Assemble.c Build.c \
Create.c Detail.c Examine.c Grow.c Monitor.c dlink.c Kill.c Query.c \
- mdopen.c super0.c super1.c bitmap.c restripe.c sysfs.c
+ mdopen.c super0.c super1.c bitmap.c restripe.c sysfs.c sha1.c
-STATICSRC = SHA1.c sha1.c pwgr.c
-STATICOBJS = SHA1.o sha1.o pwgr.o
+STATICSRC = pwgr.c
+STATICOBJS = pwgr.o
-ASSEMBLE_SRCS := mdassemble.c Assemble.c config.c dlink.c util.c super0.c super1.c
+ASSEMBLE_SRCS := mdassemble.c Assemble.c config.c dlink.c util.c super0.c super1.c sha1.c
ASSEMBLE_FLAGS:= $(CFLAGS) -DMDASSEMBLE
ifdef MDASSEMBLE_AUTO
ASSEMBLE_SRCS += mdopen.c mdstat.c
@@ -139,8 +138,6 @@ $(OBJS) : mdadm.h bitmap.h
sha1.o : sha1.c sha1.h md5.h
$(CC) $(CFLAGS) -DHAVE_STDINT_H -o sha1.o -c sha1.c
-SHA1.o : SHA1.c
- $(CC) $(CFLAGS) -DHAVE_STDINT_H -o SHA1.o -c SHA1.c
install : mdadm install-man
$(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
diff --git a/SHA1.c b/SHA1.c
index 29e42ba..e69de29 100644
--- a/SHA1.c
+++ b/SHA1.c
@@ -1,19 +0,0 @@
-
-/* Simple wrapper for code in sha1.c, to
- * provide SHA1() interface as provided by opensll.
- * I do this because I cannot get SHA1 when staticly linking.
- *
- * sha1.c sha1.h md5.h all copied from coreutils-5.94
- */
-
-#include "sha1.h"
-
-unsigned char *SHA1(unsigned char *buf, int len, unsigned char *dest)
-{
- static unsigned char defdest[20];
- if (dest == NULL) dest = defdest;
-
- return (unsigned char *)sha1_buffer((const char*)buf,
- len,
- (void*)dest);
-}
diff --git a/super0.c b/super0.c
index f14f076..0f993a2 100644
--- a/super0.c
+++ b/super0.c
@@ -27,12 +27,9 @@
* Australia
*/
+#define HAVE_STDINT_H 1
#include "mdadm.h"
-#ifndef UCLIBC
-#include <openssl/sha.h> /* for SHA1 */
-#else
-extern unsigned char *SHA1(unsigned char *buf, int len, unsigned char *dest);
-#endif
+#include "sha1.h"
/*
* All handling for the 0.90.0 version superblock is in
* this file.
@@ -102,9 +99,10 @@ static void examine_super0(void *sbv, char *homehost)
printf(" UUID : %08x:%08x:%08x:%08x", sb->set_uuid0, sb->set_uuid1,
sb->set_uuid2, sb->set_uuid3);
if (homehost) {
- unsigned char *hash = SHA1((unsigned char *)homehost,
- strlen(homehost),
- NULL);
+ char buf[20];
+ void *hash = sha1_buffer(homehost,
+ strlen(homehost),
+ buf);
if (memcmp(&sb->set_uuid2, hash, 8)==0)
printf(" (local to host %s)", homehost);
}
@@ -261,9 +259,10 @@ static void detail_super0(void *sbv, char *homehost)
else
printf("%08x", sb->set_uuid0);
if (homehost) {
- unsigned char *hash = SHA1((unsigned char *)homehost,
- strlen(homehost),
- NULL);
+ char buf[20];
+ void *hash = sha1_buffer(homehost,
+ strlen(homehost),
+ buf);
if (memcmp(&sb->set_uuid2, hash, 8)==0)
printf(" (local to host %s)", homehost);
}
@@ -285,9 +284,10 @@ static void brief_detail_super0(void *sbv)
static int match_home0(void *sbv, char *homehost)
{
mdp_super_t *sb = sbv;
- unsigned char *hash = SHA1((unsigned char *)homehost,
- strlen(homehost),
- NULL);
+ char buf[20];
+ char *hash = sha1_buffer(homehost,
+ strlen(homehost),
+ buf);
return (memcmp(&sb->set_uuid2, hash, 8)==0);
}
@@ -474,9 +474,10 @@ static int update_super0(struct mdinfo *info, void *sbv, char *update,
}
if (strcmp(update, "uuid") == 0) {
if (!uuid_set && homehost) {
- unsigned char *hash = SHA1((unsigned char*)homehost,
- strlen(homehost),
- NULL);
+ char buf[20];
+ char *hash = sha1_buffer(homehost,
+ strlen(homehost),
+ buf);
memcpy(info->uuid+2, hash, 8);
}
sb->set_uuid0 = info->uuid[0];
@@ -557,9 +558,10 @@ static int init_super0(struct supertype *st, void **sbp, mdu_array_info_t *info,
if (rfd >= 0)
close(rfd);
if (homehost) {
- unsigned char *hash = SHA1((unsigned char*)homehost,
- strlen(homehost),
- NULL);
+ char buf[20];
+ char *hash = sha1_buffer(homehost,
+ strlen(homehost),
+ buf);
memcpy(&sb->set_uuid2, hash, 8);
}