Author: jfclere
Date: Mon Mar 17 05:49:46 2008
New Revision: 637867

URL: http://svn.apache.org/viewvc?rev=637867&view=rev
Log:
Allow to specify the random device to use (with docs).

Modified:
    tomcat/tc6.0.x/trunk/STATUS.txt
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
    tomcat/tc6.0.x/trunk/java/org/apache/tomcat/jni/SSL.java
    tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
    tomcat/tc6.0.x/trunk/webapps/docs/ssl-howto.xml

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=637867&r1=637866&r2=637867&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Mar 17 05:49:46 2008
@@ -55,13 +55,6 @@
   +0: remm: do we really want to fix these sort of "bugs" ?
   -1:
 
-* Allow to specify the random device to use. (/dev/urandom is faster).
-  http://svn.apache.org/viewvc?view=rev&revision=602114
-  http://svn.apache.org/viewvc?view=rev&revision=601795
-  +1: jfclere, fhanik, remm
-  +0: markt, jim - should really be added to the docs as well
-  -1:
-
 * Revert back to original patch proposed for UTF8 parsing.
   This also fixes the regression for 6.0.16 and 5.5.26 (and possibly 4.1.37) 
mentioned in 
   http://issues.apache.org/bugzilla/show_bug.cgi?id=44494

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=637867&r1=637866&r2=637867&view=diff
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/AprLifecycleListener.java 
(original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/AprLifecycleListener.java 
Mon Mar 17 05:49:46 2008
@@ -64,6 +64,7 @@
 
     // ---------------------------------------------- Properties
     protected static String SSLEngine = "on"; //default on
+    protected static String SSLRandomSeed = "builtin";
     protected static boolean sslInitialized = false;
     protected static boolean aprInitialized = false;
 
@@ -204,14 +205,21 @@
              //only once per VM
             return;
         }
-        String methodName = "initialize";
+        String methodName = "randSet";
         Class paramTypes[] = new Class[1];
         paramTypes[0] = String.class;
         Object paramValues[] = new Object[1];
-        paramValues[0] = "on".equalsIgnoreCase(SSLEngine)?null:SSLEngine;
+        paramValues[0] = SSLRandomSeed;
         Class clazz = Class.forName("org.apache.tomcat.jni.SSL");
         Method method = clazz.getMethod(methodName, paramTypes);
         method.invoke(null, paramValues);
+        
+
+        methodName = "initialize";
+        paramValues[0] = "on".equalsIgnoreCase(SSLEngine)?null:SSLEngine;
+        method = clazz.getMethod(methodName, paramTypes);
+        method.invoke(null, paramValues);
+ 
         sslInitialized = true;
     }
 
@@ -223,4 +231,11 @@
         this.SSLEngine = SSLEngine;
     }
 
+    public String getSSLRandomSeed() {
+        return SSLRandomSeed;
+    }
+
+    public void setSSLRandomSeed(String SSLRandomSeed) {
+        this.SSLRandomSeed = SSLRandomSeed;
+    }
 }

Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/jni/SSL.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/jni/SSL.java?rev=637867&r1=637866&r2=637867&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/jni/SSL.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/jni/SSL.java Mon Mar 17 
05:49:46 2008
@@ -227,6 +227,12 @@
     public static native int initialize(String engine);
 
     /**
+      * Set source of entropy to use in SSL
+      *  @param filename Filename containing random data
+      */
+    public static native boolean randSet(String filename);
+
+    /**
      * Add content of the file to the PRNG
      * @param filename Filename containing random data.
      *        If null the default file will be tested.

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=637867&r1=637866&r2=637867&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Mon Mar 17 05:49:46 2008
@@ -57,6 +57,9 @@
   <subsection name="Coyote">
     <changelog>
       <update>
+        APR: Allow to specify the "random device" to use to collect the 
entropy. (jfclere)
+      </update>
+      <update>
         Fix NIO/SSL live lock during client disconnect (fhanik)
       </update>
       <fix>

Modified: tomcat/tc6.0.x/trunk/webapps/docs/ssl-howto.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/ssl-howto.xml?rev=637867&r1=637866&r2=637867&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/ssl-howto.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/ssl-howto.xml Mon Mar 17 05:49:46 2008
@@ -282,11 +282,11 @@
 <subsection name="Edit the Tomcat Configuration File">
 <p>If you are using APR, you have the option of configuring an alternative 
engine to openSSL.
 <source>
-&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" 
SSLEngine="someengine" /&gt;
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" 
SSLEngine="someengine" SSLRandomSeed="somedevice" /&gt;
 </source>
 The default value is
 <source>
-&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" 
SSLEngine="on" /&gt;
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" 
SSLEngine="on" SSLRandomSeed="builtin" /&gt;
 </source>
 So to use SSL under APR, make sure the SSLEngine attribute is set to something 
other than <code>off</code>.
 The default value is <code>on</code> and if you specify another value, it has 
to be a valid engine name.
@@ -295,6 +295,9 @@
 <source>
 &lt;Listener className="org.apache.catalina.core.AprLifecycleListener" 
SSLEngine="off" /&gt;
 </source>
+SSLRandomSeed allows to specify a source of entropy. Productive system needs a 
reliable source of entropy
+but entropy may need a lot of time to be collected therefore test systems 
could use no blocking entropy
+sources like "/dev/urandom" that will allow quicker starts of Tomcat.
 
 </p>
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to