From owner-FreeBSD-users-jp@jp.freebsd.org  Wed Mar 29 11:41:17 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id LAA97177;
	Wed, 29 Mar 2000 11:41:17 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from rins.st.ryukoku.ac.jp (rins.st.ryukoku.ac.jp [133.83.4.1])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id LAA97172
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 29 Mar 2000 11:41:16 +0900 (JST)
	(envelope-from kjm@ideon.st.ryukoku.ac.jp)
Received: from ideon.st.ryukoku.ac.jp (ideon.st.ryukoku.ac.jp [133.83.36.5])
	by rins.st.ryukoku.ac.jp (8.9.3+3.2W/3.7W/RINS-1.9.6-NOSPAM) with ESMTP id LAA08084
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 29 Mar 2000 11:41:13 +0900 (JST)
Received: from ideon.st.ryukoku.ac.jp (kjm@localhost [127.0.0.1])
	by ideon.st.ryukoku.ac.jp (8.9.3/3.7W/kjm-19990628) with ESMTP id LAA56323
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 29 Mar 2000 11:41:13 +0900 (JST)
From: kjm@rins.ryukoku.ac.jp (KOJIMA Hajime /
    =?ISO-2022-JP?B?GyRCPi5FZ0glGyhC?=)
To: FreeBSD-users-jp@jp.freebsd.org
In-reply-to: Your message of "23 Mar 2000 20:46:27 JST."
	<807lethpt8.fsf@kurishna.tri.asanuma.co.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Date: Wed, 29 Mar 2000 11:41:13 +0900
Message-ID: <56319.954297673@ideon.st.ryukoku.ac.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 50873
Subject: [FreeBSD-users-jp 50873] Re: firewall guide
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: kjm@ideon.st.ryukoku.ac.jp

<807lethpt8.fsf@kurishna.tri.asanuma.co.jp>$B$K$*$$$F(B
Mori Kouji $B$5$s$,$*$C$7$c$k$K$O(B:
| kjm@rins.ryukoku.ac.jp (KOJIMA Hajime /     $B>.EgH%(B) writes:
| 
| > +	if (read(fd, &rvalue, sizeof(rvalue)) != sizeof(rvalue)) {
| > +		perror("cannot read from /dev/random");
| > +		exit(1);
| > +	} 
| 
| $B@5>o$J>l9g$G$b(B /dev/random $B$+$i(B sizeof(rvalue) $B$@$1FI$a$J$$$H$-$,(B
| $B$"$k$N$G!"(B
| 
|   {
|     int n = 0, m = sizeof(rvalue);
|     char *p = (char *) &rvalue;
|     do {
|       if ((n = read(fd, p, m)) < 0) {
|         perror("cannot read from /dev/random");
|         exit(1);
|       }
|       m -= n;
|     } while (m > 0);
|   }

  $B>pJs$"$j$,$H$&$4$6$$$^$9!#$4;XE&$rH?1G$7$F!"$3$&$7$^$7$?(B:

--- lib/rand.c.orig	Sat Nov  5 08:30:21 1994
+++ lib/rand.c	Wed Mar 29 11:21:22 2000
@@ -47,3 +47,38 @@
 	return(rand());
 }
 #endif
+
+#ifdef	USE_DEVRANDOM
+#include <fcntl.h>
+
+long
+randomnumber()
+{
+	unsigned long	rvalue;
+	unsigned char	*p;
+	int	fd;
+	int	n, m; 
+
+	if ((fd = open("/dev/random", O_RDONLY)) == -1) {
+		perror("cannot open /dev/random");
+		exit(1);
+	}
+
+	n = 0;
+	m = sizeof(rvalue);
+	p = (unsigned char *) &rvalue;;
+	do {
+		if ((n = read(fd, p, m)) == -1) {
+			perror("cannot read from /dev/random");
+			exit(1);
+		}
+		m -= n;
+		p += n;
+	} while (m > 0);
+
+	if (close(fd) == -1) {
+		perror("cannot close /dev/random");
+	}
+	return((long)(rvalue >> 1));
+}
+#endif

----
// $BLZ2<@'M:!VM}2J7O$N:nJ85;=Q!WCf8x?7=q(B 624 $B$rFI$b$&(B!!

$B>.Eg(B $BH%(B - KOJIMA Hajime
[Office] kjm@rins.ryukoku.ac.jp, http://www.st.ryukoku.ac.jp/~kjm/
         Phone: 077-543-7414  Fax: 077-543-0706
