mturk       2005/06/11 11:22:25

  Modified:    jni/native/src ssl.c sslcontext.c
  Log:
  Native part of changes in SSL.java and SSLContext.java
  
  Revision  Changes    Path
  1.33      +9 -1      jakarta-tomcat-connectors/jni/native/src/ssl.c
  
  Index: ssl.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/ssl.c,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- ssl.c     11 Jun 2005 07:03:45 -0000      1.32
  +++ ssl.c     11 Jun 2005 18:22:25 -0000      1.33
  @@ -760,6 +760,14 @@
       return r;
   }
   
  +TCN_IMPLEMENT_CALL(jstring, SSL, getLastError)(TCN_STDARGS)
  +{
  +    char buf[256];
  +    UNREFERENCED(o);
  +    ERR_error_string(ERR_get_error(), buf);
  +    return tcn_new_string(e, buf, -1);
  +}
  +
   #else
   /* OpenSSL is not supported
    * If someday we make OpenSSL optional
  
  
  
  1.34      +16 -6     jakarta-tomcat-connectors/jni/native/src/sslcontext.c
  
  Index: sslcontext.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/sslcontext.c,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- sslcontext.c      11 Jun 2005 07:03:45 -0000      1.33
  +++ sslcontext.c      11 Jun 2005 18:22:25 -0000      1.34
  @@ -145,11 +145,11 @@
        */
       SSL_CTX_set_options(c->ctx, 
SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
   #endif
  -    /* Default vhost id and cache size */
  +    /* Default session context id and cache size */
       SSL_CTX_sess_set_cache_size(c->ctx, SSL_DEFAULT_CACHE_SIZE);
       MD5((const unsigned char *)SSL_DEFAULT_VHOST_NAME,
           (unsigned long)(sizeof(SSL_DEFAULT_VHOST_NAME) - 1),
  -        &(c->vhost_id[0]));
  +        &(c->context_id[0]));
       if (mode) {
           SSL_CTX_set_tmp_rsa_callback(c->ctx, SSL_callback_tmp_RSA);
           SSL_CTX_set_tmp_dh_callback(c->ctx,  SSL_callback_tmp_DH);
  @@ -185,8 +185,8 @@
       return apr_pool_cleanup_run(c->pool, c, ssl_context_cleanup);
   }
   
  -TCN_IMPLEMENT_CALL(void, SSLContext, setVhostId)(TCN_STDARGS, jlong ctx,
  -                                                 jstring id)
  +TCN_IMPLEMENT_CALL(void, SSLContext, setContextId)(TCN_STDARGS, jlong ctx,
  +                                                   jstring id)
   {
       tcn_ssl_ctxt_t *c = J2P(ctx, tcn_ssl_ctxt_t *);
       TCN_ALLOC_CSTRING(id);
  @@ -196,7 +196,7 @@
       if (J2S(id)) {
           MD5((const unsigned char *)J2S(id),
               (unsigned long)strlen(J2S(id)),
  -            &(c->vhost_id[0]));
  +            &(c->context_id[0]));
       }
       TCN_FREE_CSTRING(id);
   }
  @@ -363,6 +363,7 @@
           rv = JNI_FALSE;
           goto cleanup;
       }
  +    c->store = SSL_CTX_get_cert_store(c->ctx);
       if (c->mode) {
           STACK_OF(X509_NAME) *ca_certs;
           c->ca_certs++;
  @@ -425,6 +426,15 @@
       if ((c->verify_mode == SSL_CVERIFY_OPTIONAL) ||
           (c->verify_mode == SSL_CVERIFY_OPTIONAL_NO_CA))
           verify |= SSL_VERIFY_PEER;
  +    if (!c->store) {
  +        if (SSL_CTX_set_default_verify_paths(c->ctx)) {
  +            c->store = SSL_CTX_get_cert_store(c->ctx);
  +            X509_STORE_set_flags(c->store, 0);
  +        }
  +        else {
  +            /* XXX: See if this is fatal */ 
  +        }
  +    }
   
       SSL_CTX_set_verify(c->ctx, verify, SSL_callback_SSL_verify);
   }
  
  
  

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

Reply via email to