In order to implement SRD boundary in Windows 2000 platform, you need compile Mozilla source code, which takes 1.5 GB disk space. This is why we recommend you get our compiled code instead of compile the code yourself. You still need Egads v0.9 pseudo-random number generator. After install Egads, you need get the file reference.zip and unzip it into directory C:\temp, adding C:\temp into system path.
If you want to compile the code, there are three pieces of
code you need download, but we only targeted Mozilla 1.0. New versions of
Mozilla may also work, but we don’t guarantee.
Mozilla source code, Compiling
the code according to the instructions in window32 page. You will need
Cygwin, Perl, and other tools.
Egads v0.9 pseudo-random
number generator. Egads is a random number generator. You need install
Egads before you use its service.
Our Windows implementation, unzip it into
mozilla source parent directory, then compile the source again. You need
compile the source at least once BEFORE you unzip our code. Make sure that
reference.exe program is in C:\temp directory, and C:\temp is in the system
path.
After you have done all of these, enter mozilla\dist\WIN32_D.OBJ\bin\, start
mozilla by double click mozilla.exe.
The main differences between Linux implementation and Windows implementation
are:
(1) the Linux system random number generator /dev/random has to be replaced by
random number generator running on Windows platform;
(2) reference window process has to be rewritten, since it was written in GTK
tooklit for Linux.
We use Egads which is an entropy collecting random number generator for Windows
implementation.
You can find the reference window source code in
xpcom\borderstyle\reference\WIN32_reference\ directory. We used named pipe for
the communication between Mozilla and the reference window, because the
anonymous pipe between a process running in Cgywin environment (Mozilla) and a
pure windows process (reference window) seems not work. We limit the process
number which can listen on the named pipe is one. As soon as the named pipe
created, the reference window attaches to it. So no other process can steal the
random bit in this process.
The reference window has two threads, sharing one integer. One is taking care
of reading the pipe, updating the sharing integer and post a message; the other
thread waiting for the message, then update the image according to the sharing
integer.
Last modified: Thu Dec 5 16:56:04 EST 2002