cvs commit: jakarta-tomcat-connectors/jni/native/src sslnetwork.c sslutils.c

2005-06-18 Thread mturk
mturk   2005/06/18 01:01:54

  Modified:jni/native/src sslnetwork.c sslutils.c
  Log:
  Fix compile time warnings.
  
  Revision  ChangesPath
  1.16  +18 -17jakarta-tomcat-connectors/jni/native/src/sslnetwork.c
  
  Index: sslnetwork.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/sslnetwork.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- sslnetwork.c  17 Jun 2005 14:17:00 -  1.15
  +++ sslnetwork.c  18 Jun 2005 08:01:54 -  1.16
  @@ -309,8 +309,9 @@
   }
   
   static apr_status_t APR_THREAD_FUNC
  -ssl_socket_recv(tcn_ssl_conn_t *con, char *buf, apr_size_t *len)
  +ssl_socket_recv(void *sock, char *buf, apr_size_t *len)
   {
  +tcn_ssl_conn_t *con = (tcn_ssl_conn_t *)sock;
   int s, rd = (int)(*len);
   apr_status_t rv = APR_SUCCESS;
   
  @@ -355,9 +356,10 @@
   }
   
   static apr_status_t APR_THREAD_FUNC
  -ssl_socket_send(tcn_ssl_conn_t *con, const char *buf,
  +ssl_socket_send(void *sock, const char *buf,
   apr_size_t *len)
   {
  +tcn_ssl_conn_t *con = (tcn_ssl_conn_t *)sock;
   int s, rd = (int)(*len);
   apr_status_t rv = APR_SUCCESS;
   
  @@ -397,17 +399,18 @@
   }
   
   static apr_status_t APR_THREAD_FUNC
  -ssl_socket_sendv(tcn_ssl_conn_t *sock,
  +ssl_socket_sendv(void *sock,
const struct iovec *vec,
apr_int32_t nvec, apr_size_t *len)
   {
  +tcn_ssl_conn_t *con = (tcn_ssl_conn_t *)sock;
   apr_status_t rv;
   apr_size_t readed = 0;
   apr_int32_t i;
   
   for (i = 0; i  nvec; i++) {
   apr_size_t rd = vec[i].iov_len;
  -if ((rv = ssl_socket_send(sock, vec[i].iov_base, rd)) != 
APR_SUCCESS) {
  +if ((rv = ssl_socket_send(con, vec[i].iov_base, rd)) != 
APR_SUCCESS) {
   *len = readed;
   return rv;
   }
  @@ -419,23 +422,21 @@
   
   
   TCN_IMPLEMENT_CALL(jint, SSLSocket, attach)(TCN_STDARGS, jlong ctx,
  -jlong sock, jlong pool)
  +jlong sock)
   {
   tcn_ssl_ctxt_t *c = J2P(ctx, tcn_ssl_ctxt_t *);
   tcn_socket_t *s   = J2P(sock, tcn_socket_t *);
  -apr_pool_t *p = J2P(pool, apr_pool_t *);
   tcn_ssl_conn_t *con;
   apr_os_sock_t  oss;
   apr_status_t rv;
   
   UNREFERENCED(o);
  -TCN_ASSERT(pool != 0);
   TCN_ASSERT(ctx != 0);
   TCN_ASSERT(sock != 0);
   
   if ((rv = apr_os_sock_get(oss, s-sock)) != APR_SUCCESS)
   return rv;
  -if ((con = ssl_create(e, c, p)) == NULL)
  +if ((con = ssl_create(e, c, s-pool)) == NULL)
   return APR_EGENERAL;
   con-sock = s-sock;
   
  @@ -445,14 +446,14 @@
   else
   SSL_set_connect_state(con-ssl);
   /* Change socket type */
  -s-type = TCN_SOCKET_SSL;
  -s-cleanup  = ssl_cleanup;
  -s-net_recv = ssl_socket_recv;
  -s-net_send = ssl_socket_send;
  -s-net_sendv= ssl_socket_sendv;
  -s-net_shutdown = ssl_socket_shutdown;
  -s-net_close= ssl_socket_close;
  -s-opaque= con;
  +s-type = TCN_SOCKET_SSL;
  +s-cleanup  = ssl_cleanup;
  +s-recv = ssl_socket_recv;
  +s-send = ssl_socket_send;
  +s-sendv= ssl_socket_sendv;
  +s-shutdown = ssl_socket_shutdown;
  +s-close= ssl_socket_close;
  +s-opaque   = con;
   
   return APR_SUCCESS;
   }
  
  
  
  1.30  +1 -3  jakarta-tomcat-connectors/jni/native/src/sslutils.c
  
  Index: sslutils.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/sslutils.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- sslutils.c17 Jun 2005 09:41:30 -  1.29
  +++ sslutils.c18 Jun 2005 08:01:54 -  1.30
  @@ -336,7 +336,6 @@
   
   RSA *SSL_callback_tmp_RSA(SSL *ssl, int export, int keylen)
   {
  -tcn_ssl_conn_t *conn = (tcn_ssl_conn_t *)SSL_get_app_data(ssl);
   int idx;
   
   /* doesn't matter if export flag is on,
  @@ -372,7 +371,6 @@
*/
   DH *SSL_callback_tmp_DH(SSL *ssl, int export, int keylen)
   {
  -tcn_ssl_conn_t *conn = (tcn_ssl_conn_t *)SSL_get_app_data(ssl);
   int idx;
   switch (keylen) {
   case 512:
  
  
  

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



cvs commit: jakarta-tomcat-connectors/jni/native/src sslnetwork.c sslutils.c

2005-06-12 Thread mturk
mturk   2005/06/12 03:31:17

  Modified:jni/examples/org/apache/tomcat/jni SSLServer.java
   jni/java/org/apache/tomcat/jni SSLSocket.java
   jni/native/include ssl_private.h
   jni/native/src sslnetwork.c sslutils.c
  Log:
  Implement SSLSocket.read and SSLSocket.write,
  as well as example. Use 'openssl s_clent to test'
  
  Revision  ChangesPath
  1.6   +64 -13
jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java
  
  Index: SSLServer.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SSLServer.java11 Jun 2005 07:03:45 -  1.5
  +++ SSLServer.java12 Jun 2005 10:31:16 -  1.6
  @@ -18,12 +18,14 @@
   public static int serverPort= 0;
   public static int serverNmax= 0;
   public static int serverNrun= 0;
  -public static long serverPool   = 0;
   public static long serverCtx= 0;
  +public static long serverPool   = 0;
   public static String serverCert = null;
   public static String serverKey  = null;
   public static String serverCiphers  = null;
   public static String serverPassword = null;
  +public static String serverCAFile   = null;
  +
   private static Acceptor serverAcceptor = null;
   
   private static Object threadLock = new Object();
  @@ -41,6 +43,7 @@
   serverNmax = Integer.decode(props.getProperty(server.max, 
1)).intValue();
   serverCert = props.getProperty(server.cert, server.pem);
   serverKey  = props.getProperty(server.key, null);
  +serverCAFile   = props.getProperty(server.cacertificate, null);
   serverCiphers  = props.getProperty(server.ciphers, ALL);
   serverPassword = props.getProperty(server.password, null);
   }
  @@ -60,7 +63,7 @@
   SSLContext.setCipherSuite(serverCtx, serverCiphers);
   /* Load Server key and certificate */
   SSLContext.setCertificate(serverCtx, serverCert, serverKey, 
serverPassword, SSL.SSL_AIDX_RSA);
  -SSLContext.setVerify(serverCtx, SSL.SSL_CVERIFY_REQUIRE, 10);
  +SSLContext.setVerify(serverCtx, SSL.SSL_CVERIFY_NONE, 10);
   serverAcceptor = new Acceptor();
   serverAcceptor.start();
   
  @@ -97,14 +100,6 @@
  pool);
   serverSock = Socket.create(Socket.APR_INET, 
Socket.SOCK_STREAM,
  Socket.APR_PROTO_TCP, pool);
  -long sa = Address.get(Socket.APR_LOCAL, serverSock);
  -Sockaddr addr = new Sockaddr();
  -if (Address.fill(addr, sa)) {
  -System.out.println(Host:  + addr.hostname);
  -System.out.println(Server:  + addr.servname);
  -System.out.println(IP:  + Address.getip(sa) +
  -   : + addr.port);
  -}
   int rc = Socket.bind(serverSock, inetAddress);
   if (rc != 0) {
 throw(new Exception(Can't create Acceptor: bind:  + 
Error.strerror(rc)));
  @@ -149,9 +144,18 @@
   Socket.timeoutSet(clientSock, 1000);
   long sslSocket = SSLSocket.attach(SSLServer.serverCtx, 
clientSock, pool);
   i = SSLSocket.handshake(sslSocket);
  -System.out.println(Handskake :  + i);
  +if (i == 0) {
   
  -SSLSocket.close(sslSocket);
  +Worker worker = new Worker(sslSocket, i++,
  +   
this.getClass().getName());
  +SSLServer.incThreads();
  +worker.start();
  +
  +}
  +else {
  +System.out.println(Handshake error:  + 
SSL.getLastError());
  +SSLSocket.close(sslSocket);
  +}
   }
   }
   catch( Exception ex ) {
  @@ -159,6 +163,53 @@
   }
   }
   }
  +
  +private class Worker extends Thread {
  +private int workerId = 0;
  +private long clientSock = 0;
  +private byte [] wellcomeMsg = null;
  +
  +public Worker(long clientSocket, int workerId, String from) {
  +this.clientSock = clientSocket;
  +this.workerId = workerId;
  +wellcomeMsg = (SSLServer server id:  + this.workerId +  from 
 +
  +   from + \r\n).getBytes();
  +}
  +
  +public void run() {
  +boolean doClose =