mturk       2005/08/01 00:23:10

  Modified:    jni/java/org/apache/tomcat/jni SSL.java
               jni/native/include ssl_private.h
               jni/native/src sslinfo.c
  Log:
  Implement SSL_INFO_CLIENT_V_REMAIN cert info flag and call.
  
  Revision  Changes    Path
  1.23      +2 -1      
jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/SSL.java
  
  Index: SSL.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/SSL.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- SSL.java  12 Jul 2005 14:56:09 -0000      1.22
  +++ SSL.java  1 Aug 2005 07:23:09 -0000       1.23
  @@ -195,6 +195,7 @@
       public static final int SSL_INFO_CLIENT_A_SIG              = 0x0105;
       public static final int SSL_INFO_CLIENT_A_KEY              = 0x0106;
       public static final int SSL_INFO_CLIENT_CERT               = 0x0107;
  +    public static final int SSL_INFO_CLIENT_V_REMAIN           = 0x0108;
   
       public static final int SSL_INFO_SERVER_M_VERSION          = 0x0201;
       public static final int SSL_INFO_SERVER_M_SERIAL           = 0x0202;
  
  
  
  1.35      +2 -1      
jakarta-tomcat-connectors/jni/native/include/ssl_private.h
  
  Index: ssl_private.h
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/native/include/ssl_private.h,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- ssl_private.h     12 Jul 2005 14:56:10 -0000      1.34
  +++ ssl_private.h     1 Aug 2005 07:23:09 -0000       1.35
  @@ -178,6 +178,7 @@
   #define SSL_INFO_CLIENT_A_SIG               (0x0105)
   #define SSL_INFO_CLIENT_A_KEY               (0x0106)
   #define SSL_INFO_CLIENT_CERT                (0x0107)
  +#define SSL_INFO_CLIENT_V_REMAIN            (0x0108)
   
   #define SSL_INFO_SERVER_MASK                (0x0200)
   
  
  
  
  1.13      +19 -2     jakarta-tomcat-connectors/jni/native/src/sslinfo.c
  
  Index: sslinfo.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/sslinfo.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- sslinfo.c 1 Aug 2005 07:12:55 -0000       1.12
  +++ sslinfo.c 1 Aug 2005 07:23:09 -0000       1.13
  @@ -498,6 +498,7 @@
   {
       tcn_socket_t   *a = J2P(sock, tcn_socket_t *);
       tcn_ssl_conn_t *s;
  +    apr_status_t rv = APR_SUCCESS;
       jint value = -1;
   
       UNREFERENCED(o);
  @@ -528,10 +529,26 @@
           }
           break;
           default:
  -            tcn_ThrowAPRException(e, APR_EINVAL);
  +            rv = APR_EINVAL;
           break;
       }
  +    if (what & SSL_INFO_CLIENT_MASK) {
  +        X509 *xs;
  +        if ((xs = SSL_get_peer_certificate(s->ssl)) != NULL) {
  +            switch (what) {
  +                case SSL_INFO_CLIENT_V_REMAIN:
  +                    value = get_days_remaining(X509_get_notAfter(xs));
  +                    rv = APR_SUCCESS;
  +                break;
  +                default:
  +                    rv = APR_EINVAL;
  +                break;                    
  +           }
  +        }
  +    }
   
  +    if (rv != APR_SUCCESS)
  +        tcn_ThrowAPRException(e, rv);
       return value;
   }
   
  
  
  

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

Reply via email to