You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mt...@apache.org on 2006/09/04 08:29:34 UTC

svn commit: r439948 - in /tomcat/connectors/trunk/jni: java/org/apache/tomcat/jni/SSL.java native/src/ssl.c

Author: mturk
Date: Sun Sep  3 23:29:33 2006
New Revision: 439948

URL: http://svn.apache.org/viewvc?view=rev&rev=439948
Log:
Added setting for global random file name.
It allows to set the filename that will be
used during SSL.initialize instead to depend
on default OpenSSL for deducting .rdnfile

Modified:
    tomcat/connectors/trunk/jni/java/org/apache/tomcat/jni/SSL.java
    tomcat/connectors/trunk/jni/native/src/ssl.c

Modified: tomcat/connectors/trunk/jni/java/org/apache/tomcat/jni/SSL.java
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jni/java/org/apache/tomcat/jni/SSL.java?view=diff&rev=439948&r1=439947&r2=439948
==============================================================================
--- tomcat/connectors/trunk/jni/java/org/apache/tomcat/jni/SSL.java (original)
+++ tomcat/connectors/trunk/jni/java/org/apache/tomcat/jni/SSL.java Sun Sep  3 23:29:33 2006
@@ -254,6 +254,14 @@
                                           boolean base64);
 
     /**
+     * Sets global random filename.
+     * @param filename Filename to use.
+     *        If set it will be used for SSL initialization
+     *        and all contexts where explicitly not set.
+     */
+    public static native void randSet(String filename);
+
+    /**
      * Initialize new BIO
      * @param pool The pool to use.
      * @param callback BIOCallback to use

Modified: tomcat/connectors/trunk/jni/native/src/ssl.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jni/native/src/ssl.c?view=diff&rev=439948&r1=439947&r2=439948
==============================================================================
--- tomcat/connectors/trunk/jni/native/src/ssl.c (original)
+++ tomcat/connectors/trunk/jni/native/src/ssl.c Sun Sep  3 23:29:33 2006
@@ -29,6 +29,7 @@
 #include "ssl_private.h"
 
 static int ssl_initialized = 0;
+static char *ssl_global_rand_file = NULL;
 extern apr_pool_t *tcn_global_pool;
 
 ENGINE *tcn_ssl_engine = NULL;
@@ -252,6 +253,9 @@
     int n;
 
     if (file == NULL)
+        file = ssl_global_rand_file;
+
+    if (file == NULL)
         file = RAND_file_name(buffer, sizeof(buffer));
     else if ((n = RAND_egd(file)) > 0) {
         return n;
@@ -473,6 +477,16 @@
     r = ssl_rand_make(J2S(file), length, base64);
     TCN_FREE_CSTRING(file);
     return r ? JNI_TRUE : JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(void, SSL, randSet)(TCN_STDARGS, jstring file)
+{
+    TCN_ALLOC_CSTRING(file);
+    UNREFERENCED(o);
+    if (J2S(file)) {
+        ssl_global_rand_file = apr_pstrdup(tcn_global_pool, J2S(file));        
+    }
+    TCN_FREE_CSTRING(file);
 }
 
 /* OpenSSL Java Stream BIO */



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org