add rml's netdev-random patch and modify et to use it (finally some entropy on /dev/random)
SVN-Revision: 802
This commit is contained in:
parent
6afedc7e6a
commit
af5080ef5d
4 changed files with 309 additions and 1 deletions
|
@ -0,0 +1,296 @@
|
|||
diff -urN linux-2.4.26-pre5/Documentation/Configure.help linux-2.4.26-pre5-netdev-core/Documentation/Configure.help
|
||||
--- linux-2.4.26-pre5/Documentation/Configure.help Sat Mar 20 10:08:18 2004
|
||||
+++ linux-2.4.26-pre5-netdev-core/Documentation/Configure.help Sun Mar 21 10:16:14 2004
|
||||
@@ -10419,6 +10419,20 @@
|
||||
|
||||
If you don't know what to use this for, you don't need it.
|
||||
|
||||
+Allow Net Devices to contribute to /dev/random
|
||||
+CONFIG_NET_RANDOM
|
||||
+ If you say Y here, network device interrupts will contribute to the
|
||||
+ kernel entropy pool. Normally, block devices and some other devices
|
||||
+ feed the pool. Some systems, such as those that are headless or diskless,
|
||||
+ need additional entropy sources. Some people, however, feel that network
|
||||
+ devices should not contribute to /dev/random because an external attacker
|
||||
+ could observe incoming packets in an attempt to learn the entropy pool's
|
||||
+ state. If you say N, no network device will contribute entropy.
|
||||
+
|
||||
+ If you believe there is a chance of your network packets being observed
|
||||
+ and you doubt the security of the entropy pool's one-way hash, do not
|
||||
+ enable this. If unsure, say N.
|
||||
+
|
||||
Ethertap network tap (OBSOLETE)
|
||||
CONFIG_ETHERTAP
|
||||
If you say Y here (and have said Y to "Kernel/User network link
|
||||
diff -urN linux-2.4.26-pre5/drivers/net/Config.in linux-2.4.26-pre5-netdev-core/drivers/net/Config.in
|
||||
--- linux-2.4.26-pre5/drivers/net/Config.in Sat Mar 20 10:08:18 2004
|
||||
+++ linux-2.4.26-pre5-netdev-core/drivers/net/Config.in Sun Mar 21 10:16:14 2004
|
||||
@@ -8,6 +8,7 @@
|
||||
tristate 'Bonding driver support' CONFIG_BONDING
|
||||
tristate 'EQL (serial line load balancing) support' CONFIG_EQUALIZER
|
||||
tristate 'Universal TUN/TAP device driver support' CONFIG_TUN
|
||||
+bool 'Allow Net Devices to contribute to /dev/random' CONFIG_NET_RANDOM
|
||||
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
|
||||
tristate 'Ethertap network tap (OBSOLETE)' CONFIG_ETHERTAP
|
||||
fi
|
||||
diff -urN linux-2.4.26-pre5/include/asm-alpha/signal.h linux-2.4.26-pre5-netdev-core/include/asm-alpha/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-alpha/signal.h Sat Dec 1 18:27:14 2001
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-alpha/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -121,7 +121,14 @@
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x40000000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 1 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 2 /* for unblocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-arm/signal.h linux-2.4.26-pre5-netdev-core/include/asm-arm/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-arm/signal.h Sat Sep 13 07:57:29 2003
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-arm/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -125,7 +125,14 @@
|
||||
#define SA_PROBE 0x80000000
|
||||
#define SA_SAMPLE_RANDOM 0x10000000
|
||||
#define SA_SHIRQ 0x04000000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-cris/signal.h linux-2.4.26-pre5-netdev-core/include/asm-cris/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-cris/signal.h Sat Dec 1 18:27:14 2001
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-cris/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -120,7 +120,14 @@
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x04000000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-i386/signal.h linux-2.4.26-pre5-netdev-core/include/asm-i386/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-i386/signal.h Sun Mar 21 00:00:43 2004
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-i386/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -119,7 +119,14 @@
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x04000000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-ia64/signal.h linux-2.4.26-pre5-netdev-core/include/asm-ia64/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-ia64/signal.h Sat Mar 20 10:08:20 2004
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-ia64/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -117,6 +117,12 @@
|
||||
#define SA_SHIRQ 0x04000000
|
||||
#define SA_PERCPU_IRQ 0x02000000
|
||||
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
+#endif
|
||||
+
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-m68k/signal.h linux-2.4.26-pre5-netdev-core/include/asm-m68k/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-m68k/signal.h Fri Feb 20 07:38:33 2004
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-m68k/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -116,7 +116,14 @@
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x04000000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-mips/signal.h linux-2.4.26-pre5-netdev-core/include/asm-mips/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-mips/signal.h Sat Sep 13 07:57:31 2003
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-mips/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -111,6 +111,12 @@
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x02000000
|
||||
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
+#endif
|
||||
+
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 1 /* for blocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-mips64/signal.h linux-2.4.26-pre5-netdev-core/include/asm-mips64/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-mips64/signal.h Sat Sep 13 07:57:32 2003
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-mips64/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -119,6 +119,12 @@
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x02000000
|
||||
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
+#endif
|
||||
+
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 1 /* for blocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-parisc/signal.h linux-2.4.26-pre5-netdev-core/include/asm-parisc/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-parisc/signal.h Sun Jan 11 18:48:21 2004
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-parisc/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -100,6 +100,12 @@
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x04000000
|
||||
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
+#endif
|
||||
+
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-ppc/signal.h linux-2.4.26-pre5-netdev-core/include/asm-ppc/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-ppc/signal.h Sat Sep 13 07:57:32 2003
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-ppc/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -111,6 +111,13 @@
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x04000000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
+#endif
|
||||
+
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-s390/signal.h linux-2.4.26-pre5-netdev-core/include/asm-s390/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-s390/signal.h Fri Feb 20 07:38:34 2004
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-s390/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -129,7 +129,14 @@
|
||||
#define SA_SHIRQ 0x04000000
|
||||
#define SA_DOPATHGROUP 0x00100000
|
||||
#define SA_FORCE 0x00200000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-s390x/signal.h linux-2.4.26-pre5-netdev-core/include/asm-s390x/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-s390x/signal.h Fri Feb 20 07:38:34 2004
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-s390x/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -129,7 +129,14 @@
|
||||
#define SA_SHIRQ 0x04000000
|
||||
#define SA_DOPATHGROUP 0x00100000
|
||||
#define SA_FORCE 0x00200000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-sh/signal.h linux-2.4.26-pre5-netdev-core/include/asm-sh/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-sh/signal.h Sat Dec 1 18:27:13 2001
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-sh/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -107,7 +107,14 @@
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x04000000
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
||||
diff -urN linux-2.4.26-pre5/include/asm-sparc/signal.h linux-2.4.26-pre5-netdev-core/include/asm-sparc/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-sparc/signal.h Sat Dec 1 18:27:14 2001
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-sparc/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -176,7 +176,14 @@
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_STATIC_ALLOC 0x80
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
/* Type of a signal handler. */
|
||||
#ifdef __KERNEL__
|
||||
diff -urN linux-2.4.26-pre5/include/asm-sparc64/signal.h linux-2.4.26-pre5-netdev-core/include/asm-sparc64/signal.h
|
||||
--- linux-2.4.26-pre5/include/asm-sparc64/signal.h Sat Dec 1 18:27:14 2001
|
||||
+++ linux-2.4.26-pre5-netdev-core/include/asm-sparc64/signal.h Sun Mar 21 10:16:14 2004
|
||||
@@ -192,7 +192,14 @@
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_STATIC_ALLOC 0x80
|
||||
+
|
||||
+#ifdef CONFIG_NET_RANDOM
|
||||
+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
|
||||
+#else
|
||||
+#define SA_NET_RANDOM 0
|
||||
#endif
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
/* Type of a signal handler. */
|
||||
#ifdef __KERNEL__
|
|
@ -0,0 +1,11 @@
|
|||
--- linux-2.4.30.old/drivers/net/et/et_linux.c 2005-05-05 02:53:35.000000000 +0200
|
||||
+++ linux-2.4.30/drivers/net/et/et_linux.c 2005-05-05 02:54:01.000000000 +0200
|
||||
@@ -192,7 +192,7 @@
|
||||
#endif
|
||||
|
||||
/* register our interrupt handler */
|
||||
- if (request_irq(pdev->irq, et_isr, SA_SHIRQ, dev->name, et)) {
|
||||
+ if (request_irq(pdev->irq, et_isr, SA_SHIRQ | SA_NET_RANDOM, dev->name, et)) {
|
||||
ET_ERROR(("et%d: request_irq() failed\n", unit));
|
||||
goto fail;
|
||||
}
|
|
@ -716,6 +716,7 @@ CONFIG_WL_STA=y
|
|||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
CONFIG_TUN=m
|
||||
CONFIG_NET_RANDOM=y
|
||||
# CONFIG_ETHERTAP is not set
|
||||
|
||||
#
|
||||
|
|
|
@ -52,7 +52,6 @@ $(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE) $(DL_DIR)/$(LINUX_BINARY_WL_DR
|
|||
touch $(LINUX_DIR)/.unpacked
|
||||
|
||||
$(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
|
||||
$(PATCH) $(LINUX_DIR) $(LINUX_PATCHES)
|
||||
# copy kernel source which is maintained in openwrt via cvs
|
||||
cp -a $(LINUX_KERNEL_SOURCE)/* $(LINUX_DIR)
|
||||
# copy binary wlan driver
|
||||
|
@ -60,6 +59,7 @@ $(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
|
|||
# copy proprietary et source
|
||||
cp -a $(BUILD_DIR)/et/* $(LINUX_DIR)/drivers/net/et
|
||||
cp -a $(BUILD_DIR)/et/*.h $(LINUX_DIR)/include/
|
||||
$(PATCH) $(LINUX_DIR) $(LINUX_PATCHES)
|
||||
$(SED) 's/@expr length/@-expr length/' $(LINUX_DIR)/Makefile
|
||||
touch $(LINUX_DIR)/.patched
|
||||
|
||||
|
|
Loading…
Reference in a new issue