Browse Source

Benjamin Schieder:


			
			
				rocklinux
			
			
		
Benjamin Schieder 21 years ago
parent
commit
63ef9f8db5
2 changed files with 92 additions and 112 deletions
  1. +88
    -108
      package/blindcoder/loop-aes/linux26_cryptoloop.diff
  2. +4
    -4
      package/blindcoder/loop-aes/loop-aes.desc

+ 88
- 108
package/blindcoder/loop-aes/linux26_cryptoloop.diff

@ -1,25 +1,6 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/blindcoder/loop-aes/linux26_cryptoloop.diff
# ROCK Linux is Copyright (C) 1998 - 2005 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
diff -pruN linux-2.6.9_orig/drivers/block/Kconfig linux-2.6.9/drivers/block/Kconfig
--- linux-2.6.9_orig/drivers/block/Kconfig 2004-10-18 23:53:43.000000000 +0200
+++ linux-2.6.9/drivers/block/Kconfig 2005-01-11 09:27:53.485820920 +0100
diff -pruN linux-2.6.10/drivers/block/Kconfig linux-2.6.10_loopaes/drivers/block/Kconfig
--- linux-2.6.10/drivers/block/Kconfig 2004-12-24 22:34:26.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/block/Kconfig 2005-02-22 08:28:10.545741240 +0100
@@ -235,14 +235,6 @@ config BLK_DEV_LOOP
bits of, say, a sound file). This is also safe if the file resides
on a remote file server.
@ -71,9 +52,9 @@ diff -pruN linux-2.6.9_orig/drivers/block/Kconfig linux-2.6.9/drivers/block/Kcon
config BLK_DEV_NBD
tristate "Network block device support"
diff -pruN linux-2.6.9_orig/drivers/block/Makefile linux-2.6.9/drivers/block/Makefile
--- linux-2.6.9_orig/drivers/block/Makefile 2004-10-18 23:54:55.000000000 +0200
+++ linux-2.6.9/drivers/block/Makefile 2005-01-11 09:27:53.486820768 +0100
diff -pruN linux-2.6.10/drivers/block/Makefile linux-2.6.10_loopaes/drivers/block/Makefile
--- linux-2.6.10/drivers/block/Makefile 2004-12-24 22:35:24.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/block/Makefile 2005-02-22 08:28:10.545741240 +0100
@@ -1,6 +1,9 @@
#
# Makefile for the kernel block device drivers.
@ -84,9 +65,9 @@ diff -pruN linux-2.6.9_orig/drivers/block/Makefile linux-2.6.9/drivers/block/Mak
# 12 June 2000, Christoph Hellwig <hch@infradead.org>
# Rewritten to use lists instead of if-statements.
#
diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.c
--- linux-2.6.9_orig/drivers/block/loop.c 2004-10-18 23:54:32.000000000 +0200
+++ linux-2.6.9/drivers/block/loop.c 2005-01-11 09:27:53.491820008 +0100
diff -pruN linux-2.6.10/drivers/block/loop.c linux-2.6.10_loopaes/drivers/block/loop.c
--- linux-2.6.10/drivers/block/loop.c 2004-12-24 22:34:58.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/block/loop.c 2005-02-22 08:28:10.550740480 +0100
@@ -39,18 +39,46 @@
* Support up to 256 loop devices
* Heinz Mauelshagen <mge@sistina.com>, Feb 2002
@ -127,8 +108,7 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
+#include <linux/version.h>
#include <linux/config.h>
#include <linux/module.h>
-
+#include <linux/moduleparam.h>
#include <linux/moduleparam.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <linux/file.h>
@ -697,9 +677,7 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
-lo_send(struct loop_device *lo, struct bio *bio, int bsize, loff_t pos)
+/* this function exists for compatibility with old external cipher modules */
+void loop_compute_md5_iv(sector_t devSect, u_int32_t *ivout, u_int32_t *data)
{
- struct bio_vec *bvec;
- int i, ret = 0;
+{
+ ivout[0] = 0x67452301;
+ ivout[1] = 0xefcdab89;
+ ivout[2] = 0x98badcfe;
@ -861,12 +839,11 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
+#endif
+ return(0);
+}
- bio_for_each_segment(bvec, bio, i) {
- ret = do_lo_send(lo, bvec, bsize, pos);
- if (ret < 0)
+
+static int keyClean_aes(struct loop_device *lo)
+{
{
- struct bio_vec *bvec;
- int i, ret = 0;
+ if(lo->key_data) {
+ clearAndFreeMultiKey((AESmultiKey *)lo->key_data);
+ lo->key_data = 0;
@ -890,7 +867,10 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
+ }
+ return err;
+}
+
- bio_for_each_segment(bvec, bio, i) {
- ret = do_lo_send(lo, bvec, bsize, pos);
- if (ret < 0)
+static struct loop_func_table funcs_aes = {
+ number: 16, /* 16 == AES */
+ transfer: transfer_aes,
@ -1025,14 +1005,15 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
+ atomic_set(&bio->bi_cnt, 1);
+ bio->bi_next = NULL;
+ bio_put(bio);
+ }
}
+}
+
+static int loop_prealloc_init(struct loop_device *lo, int y)
+{
+ struct bio *bio;
+ int x;
+
- flush_dcache_page(p->page);
+ if(!y) {
+ y = lo_prealloc[0];
+ for (x = 1; x < (sizeof(lo_prealloc) / sizeof(int)); x += 2) {
@ -1043,7 +1024,11 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
+ }
+ }
+ lo->lo_bio_flsh = (y * 3) / 4;
+
- desc->count = count - size;
- desc->written += size;
- p->offset += size;
- return size;
+ for (x = 0; x < y; x++) {
+ bio = bio_alloc(GFP_KERNEL, 1);
+ if (!bio) {
@ -1071,37 +1056,14 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
+ bio->bi_vcnt = 1;
+ bio->bi_next = lo->lo_bio_free1;
+ lo->lo_bio_free1 = bio;
}
+ return 0;
+}
- flush_dcache_page(p->page);
+static void loop_add_queue_last(struct loop_device *lo, struct bio *bio, struct bio **q)
+{
+ unsigned long flags;
- desc->count = count - size;
- desc->written += size;
- p->offset += size;
- return size;
+ spin_lock_irqsave(&lo->lo_lock, flags);
+ if (*q) {
+ bio->bi_next = (*q)->bi_next;
+ (*q)->bi_next = bio;
+ } else {
+ bio->bi_next = bio;
+ }
+ *q = bio;
+ spin_unlock_irqrestore(&lo->lo_lock, flags);
+
+ if (waitqueue_active(&lo->lo_bio_wait))
+ wake_up_interruptible(&lo->lo_bio_wait);
+ return 0;
}
-static int
-do_lo_receive(struct loop_device *lo,
- struct bio_vec *bvec, int bsize, loff_t pos)
+static void loop_add_queue_first(struct loop_device *lo, struct bio *bio, struct bio **q)
+static void loop_add_queue_last(struct loop_device *lo, struct bio *bio, struct bio **q)
{
- struct lo_read_data cookie;
- struct file *file;
@ -1115,30 +1077,48 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
- retval = file->f_op->sendfile(file, &pos, bvec->bv_len,
- lo_read_actor, &cookie);
- return (retval < 0)? retval: 0;
+ spin_lock_irq(&lo->lo_lock);
+ unsigned long flags;
+
+ spin_lock_irqsave(&lo->lo_lock, flags);
+ if (*q) {
+ bio->bi_next = (*q)->bi_next;
+ (*q)->bi_next = bio;
+ } else {
+ bio->bi_next = bio;
+ *q = bio;
+ }
+ spin_unlock_irq(&lo->lo_lock);
+ *q = bio;
+ spin_unlock_irqrestore(&lo->lo_lock, flags);
+
+ if (waitqueue_active(&lo->lo_bio_wait))
+ wake_up_interruptible(&lo->lo_bio_wait);
}
-static int
-lo_receive(struct loop_device *lo, struct bio *bio, int bsize, loff_t pos)
+static struct bio *loop_get_bio(struct loop_device *lo, int *list_nr)
+static void loop_add_queue_first(struct loop_device *lo, struct bio *bio, struct bio **q)
{
- struct bio_vec *bvec;
- int i, ret = 0;
+ struct bio *bio = NULL, *last;
+ spin_lock_irq(&lo->lo_lock);
+ if (*q) {
+ bio->bi_next = (*q)->bi_next;
+ (*q)->bi_next = bio;
+ } else {
+ bio->bi_next = bio;
+ *q = bio;
+ }
+ spin_unlock_irq(&lo->lo_lock);
+}
- bio_for_each_segment(bvec, bio, i) {
- ret = do_lo_receive(lo, bvec, bsize, pos);
- if (ret < 0)
- break;
- pos += bvec->bv_len;
+static struct bio *loop_get_bio(struct loop_device *lo, int *list_nr)
+{
+ struct bio *bio = NULL, *last;
+
+ spin_lock_irq(&lo->lo_lock);
+ if ((last = lo->lo_bio_que0)) {
+ bio = last->bi_next;
@ -2170,9 +2150,9 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
+ } else
goto out_putf;
- }
-
- size = get_loop_size(lo, file);
- size = get_loop_size(lo, file);
-
- if ((loff_t)(sector_t)size != size) {
- error = -EFBIG;
- goto out_putf;
@ -2665,7 +2645,7 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
/*
* And now the modules code and kernel interface.
*/
-MODULE_PARM(max_loop, "i");
-module_param(max_loop, int, 0);
-MODULE_PARM_DESC(max_loop, "Maximum number of loop devices (1-256)");
MODULE_LICENSE("GPL");
MODULE_ALIAS_BLOCKDEV_MAJOR(LOOP_MAJOR);
@ -2859,9 +2839,9 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.
-__setup("max_loop=", max_loop_setup);
+EXPORT_SYMBOL(loop_add_keyscrub_fn);
#endif
diff -pruN linux-2.6.9_orig/drivers/misc/Makefile linux-2.6.9/drivers/misc/Makefile
--- linux-2.6.9_orig/drivers/misc/Makefile 2004-10-18 23:55:24.000000000 +0200
+++ linux-2.6.9/drivers/misc/Makefile 2005-01-11 09:27:53.491820008 +0100
diff -pruN linux-2.6.10/drivers/misc/Makefile linux-2.6.10_loopaes/drivers/misc/Makefile
--- linux-2.6.10/drivers/misc/Makefile 2004-12-24 22:35:28.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/Makefile 2005-02-22 08:28:10.550740480 +0100
@@ -4,3 +4,24 @@
obj- := misc.o # Dummy rule to force built-in.o to be made
@ -2887,9 +2867,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/Makefile linux-2.6.9/drivers/misc/Makef
+endif
+endif
+endif
diff -pruN linux-2.6.9_orig/drivers/misc/aes-amd64.S linux-2.6.9/drivers/misc/aes-amd64.S
--- linux-2.6.9_orig/drivers/misc/aes-amd64.S 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/aes-amd64.S 2005-01-11 09:27:53.493819704 +0100
diff -pruN linux-2.6.10/drivers/misc/aes-amd64.S linux-2.6.10_loopaes/drivers/misc/aes-amd64.S
--- linux-2.6.10/drivers/misc/aes-amd64.S 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/aes-amd64.S 2005-02-22 08:28:10.553740024 +0100
@@ -0,0 +1,893 @@
+//
+// Copyright (c) 2001, Dr Brian Gladman <brg@gladman.uk.net>, Worcester, UK.
@ -3784,9 +3764,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/aes-amd64.S linux-2.6.9/drivers/misc/ae
+ im_data5(v3)
+ im_data6(v3)
+ im_data7(v3)
diff -pruN linux-2.6.9_orig/drivers/misc/aes-x86.S linux-2.6.9/drivers/misc/aes-x86.S
--- linux-2.6.9_orig/drivers/misc/aes-x86.S 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/aes-x86.S 2005-01-11 09:27:53.496819248 +0100
diff -pruN linux-2.6.10/drivers/misc/aes-x86.S linux-2.6.10_loopaes/drivers/misc/aes-x86.S
--- linux-2.6.10/drivers/misc/aes-x86.S 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/aes-x86.S 2005-02-22 08:28:10.555739720 +0100
@@ -0,0 +1,922 @@
+//
+// Copyright (c) 2001, Dr Brian Gladman <brg@gladman.uk.net>, Worcester, UK.
@ -4710,9 +4690,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/aes-x86.S linux-2.6.9/drivers/misc/aes-
+ im_data5(v3)
+ im_data6(v3)
+ im_data7(v3)
diff -pruN linux-2.6.9_orig/drivers/misc/aes.c linux-2.6.9/drivers/misc/aes.c
--- linux-2.6.9_orig/drivers/misc/aes.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/aes.c 2005-01-11 09:27:53.499818792 +0100
diff -pruN linux-2.6.10/drivers/misc/aes.c linux-2.6.10_loopaes/drivers/misc/aes.c
--- linux-2.6.10/drivers/misc/aes.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/aes.c 2005-02-22 08:28:10.559739112 +0100
@@ -0,0 +1,1479 @@
+// I retain copyright in this code but I encourage its free use provided
+// that I don't carry any responsibility for the results. I am especially
@ -6193,9 +6173,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/aes.c linux-2.6.9/drivers/misc/aes.c
+
+ state_out(out_blk, b0);
+}
diff -pruN linux-2.6.9_orig/drivers/misc/aes.h linux-2.6.9/drivers/misc/aes.h
--- linux-2.6.9_orig/drivers/misc/aes.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/aes.h 2005-01-11 09:27:53.500818640 +0100
diff -pruN linux-2.6.10/drivers/misc/aes.h linux-2.6.10_loopaes/drivers/misc/aes.h
--- linux-2.6.10/drivers/misc/aes.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/aes.h 2005-02-22 08:28:10.560738960 +0100
@@ -0,0 +1,113 @@
+// I retain copyright in this code but I encourage its free use provided
+// that I don't carry any responsibility for the results. I am especially
@ -6310,9 +6290,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/aes.h linux-2.6.9/drivers/misc/aes.h
+// if their parameters have not changed.
+
+#endif // _AES_H
diff -pruN linux-2.6.9_orig/drivers/misc/crypto-ksym.c linux-2.6.9/drivers/misc/crypto-ksym.c
--- linux-2.6.9_orig/drivers/misc/crypto-ksym.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/crypto-ksym.c 2005-01-11 09:27:53.500818640 +0100
diff -pruN linux-2.6.10/drivers/misc/crypto-ksym.c linux-2.6.10_loopaes/drivers/misc/crypto-ksym.c
--- linux-2.6.10/drivers/misc/crypto-ksym.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/crypto-ksym.c 2005-02-22 08:28:10.560738960 +0100
@@ -0,0 +1,7 @@
+#include <linux/module.h>
+#include "aes.h"
@ -6321,9 +6301,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/crypto-ksym.c linux-2.6.9/drivers/misc/
+EXPORT_SYMBOL(aes_encrypt);
+EXPORT_SYMBOL(aes_decrypt);
+EXPORT_SYMBOL(md5_transform_CPUbyteorder);
diff -pruN linux-2.6.9_orig/drivers/misc/md5-amd64.S linux-2.6.9/drivers/misc/md5-amd64.S
--- linux-2.6.9_orig/drivers/misc/md5-amd64.S 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/md5-amd64.S 2005-01-11 09:27:53.501818488 +0100
diff -pruN linux-2.6.10/drivers/misc/md5-amd64.S linux-2.6.10_loopaes/drivers/misc/md5-amd64.S
--- linux-2.6.10/drivers/misc/md5-amd64.S 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/md5-amd64.S 2005-02-22 08:28:10.561738808 +0100
@@ -0,0 +1,200 @@
+//
+// md5-amd64.S
@ -6525,9 +6505,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/md5-amd64.S linux-2.6.9/drivers/misc/md
+ addl %ecx,8(%rdi)
+ addl %edx,12(%rdi)
+ ret
diff -pruN linux-2.6.9_orig/drivers/misc/md5-x86.S linux-2.6.9/drivers/misc/md5-x86.S
--- linux-2.6.9_orig/drivers/misc/md5-x86.S 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/md5-x86.S 2005-01-11 09:27:53.502818336 +0100
diff -pruN linux-2.6.10/drivers/misc/md5-x86.S linux-2.6.10_loopaes/drivers/misc/md5-x86.S
--- linux-2.6.10/drivers/misc/md5-x86.S 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/md5-x86.S 2005-02-22 08:28:10.561738808 +0100
@@ -0,0 +1,207 @@
+//
+// md5-x86.S
@ -6736,9 +6716,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/md5-x86.S linux-2.6.9/drivers/misc/md5-
+ pop %ebx
+ pop %ebp
+ ret
diff -pruN linux-2.6.9_orig/drivers/misc/md5.c linux-2.6.9/drivers/misc/md5.c
--- linux-2.6.9_orig/drivers/misc/md5.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/md5.c 2005-01-11 09:27:53.502818336 +0100
diff -pruN linux-2.6.10/drivers/misc/md5.c linux-2.6.10_loopaes/drivers/misc/md5.c
--- linux-2.6.10/drivers/misc/md5.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/md5.c 2005-02-22 08:28:10.562738656 +0100
@@ -0,0 +1,106 @@
+/*
+ * MD5 Message Digest Algorithm (RFC1321).
@ -6846,9 +6826,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/md5.c linux-2.6.9/drivers/misc/md5.c
+ hash[2] += c;
+ hash[3] += d;
+}
diff -pruN linux-2.6.9_orig/drivers/misc/md5.h linux-2.6.9/drivers/misc/md5.h
--- linux-2.6.9_orig/drivers/misc/md5.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.9/drivers/misc/md5.h 2005-01-11 09:27:53.502818336 +0100
diff -pruN linux-2.6.10/drivers/misc/md5.h linux-2.6.10_loopaes/drivers/misc/md5.h
--- linux-2.6.10/drivers/misc/md5.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10_loopaes/drivers/misc/md5.h 2005-02-22 08:28:10.562738656 +0100
@@ -0,0 +1,11 @@
+/* md5.h */
+
@ -6861,9 +6841,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/md5.h linux-2.6.9/drivers/misc/md5.h
+ asmlinkage
+#endif
+extern void md5_transform_CPUbyteorder(u_int32_t *, u_int32_t const *);
diff -pruN linux-2.6.9_orig/include/linux/loop.h linux-2.6.9/include/linux/loop.h
--- linux-2.6.9_orig/include/linux/loop.h 2004-10-18 23:55:36.000000000 +0200
+++ linux-2.6.9/include/linux/loop.h 2005-01-11 09:27:53.503818184 +0100
diff -pruN linux-2.6.10/include/linux/loop.h linux-2.6.10_loopaes/include/linux/loop.h
--- linux-2.6.10/include/linux/loop.h 2004-12-24 22:35:49.000000000 +0100
+++ linux-2.6.10_loopaes/include/linux/loop.h 2005-02-22 08:28:10.562738656 +0100
@@ -16,54 +16,57 @@
#ifdef __KERNEL__
#include <linux/bio.h>

+ 4
- 4
package/blindcoder/loop-aes/loop-aes.desc

@ -35,9 +35,9 @@
[L] GPL
[S] Stable
[V] 3.0a
[P] O ---3-----9 100.100
[V] 3.0b
[P] O ---3-----9 100.400
[D] 502568884 loop-AES-v3.0a.tar.bz2 http://loop-aes.sourceforge.net/loop-AES/
[D] 2057206101 util-linux-2.12p.diff.bz2 http://loop-aes.sourceforge.net/updates/
[D] 0 loop-AES-v3.0b.tar.bz2 http://loop-aes.sourceforge.net/loop-AES/
[D] 0 util-linux-2.12p.diff.bz2 http://loop-aes.sourceforge.net/updates/

Loading…
Cancel
Save