WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] blktap - Don't link against libcrypto

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] blktap - Don't link against libcrypto
From: Bastian Blank <bastian@xxxxxxxxxxxx>
Date: Sat, 28 Jun 2008 12:12:26 +0200
Delivery-date: Sat, 28 Jun 2008 03:12:49 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.17+20080114 (2008-01-14)
Hi folks

tapdisk, part of blktap, links against libcrypto. tapdisk includes GPLv2
(tapaio.c) and other licensed code (block-qcow.c). The license of
OpenSSL is considered incompatible with the GPL by many people. This
patch changes them to link against libgcrypt, which is LGPL.

Signed-off-by: Bastian Blank <waldi@xxxxxxxxxx>

diff -r 3da148fb7d9b tools/blktap/drivers/Makefile
--- a/tools/blktap/drivers/Makefile     Thu Jun 19 11:09:10 2008 +0100
+++ b/tools/blktap/drivers/Makefile     Sat Jun 28 12:03:24 2008 +0200
@@ -18,7 +18,7 @@ DEPS      = .*.d
 DEPS      = .*.d
 
 LDFLAGS_blktapctrl := $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenstore) -L../lib 
-lblktap
-LDFLAGS_img := $(LIBAIO_DIR)/libaio.a -lcrypto -lpthread -lz
+LDFLAGS_img := $(LIBAIO_DIR)/libaio.a -lgcrypt -lpthread -lz
 
 BLK-OBJS-y  := block-aio.o
 BLK-OBJS-y  += block-sync.o
diff -r 3da148fb7d9b tools/blktap/drivers/block-qcow.c
--- a/tools/blktap/drivers/block-qcow.c Thu Jun 19 11:09:10 2008 +0100
+++ b/tools/blktap/drivers/block-qcow.c Sat Jun 28 12:03:24 2008 +0200
@@ -33,7 +33,7 @@
 #include <zlib.h>
 #include <inttypes.h>
 #include <libaio.h>
-#include <openssl/md5.h>
+#include <gcrypt.h>
 #include "bswap.h"
 #include "aes.h"
 #include "tapdisk.h"
@@ -149,31 +149,22 @@ static uint32_t gen_cksum(char *ptr, int
 static uint32_t gen_cksum(char *ptr, int len)
 {
        int i;
-       unsigned char *md;
-       uint32_t ret;
+       uint32_t md[4];
 
-       md = malloc(MD5_DIGEST_LENGTH);
-
-       if(!md) return 0;
-       
        /* Convert L1 table to big endian */
        for(i = 0; i < len / sizeof(uint64_t); i++) {
                cpu_to_be64s(&((uint64_t*) ptr)[i]);
        }
 
        /* Generate checksum */
-       if (MD5((unsigned char *)ptr, len, md) != md)
-               ret = 0;
-       else
-               memcpy(&ret, md, sizeof(uint32_t));
+       gcry_md_hash_buffer(GCRY_MD_MD5, md, ptr, len);
 
        /* Convert L1 table back to native endianess */
        for(i = 0; i < len / sizeof(uint64_t); i++) {
                be64_to_cpus(&((uint64_t*) ptr)[i]);
        }
 
-       free(md);
-       return ret;
+       return md[0];
 }
 
 static int get_filesize(char *filename, uint64_t *size, struct stat *st)
-- 
War is never imperative.
                -- McCoy, "Balance of Terror", stardate 1709.2

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>