Aloha, The following patch fixes a problem with SSL client ceritificates and HTTP POST data when using the Warp connector. When Tomcat retrieves the SSL certificate, the getX509Certificates() method is called and this.packet is reset... Now, when the read() method is called to retrieve the POST data, the packet type is invalid and an exception is thrown preventing the parameters from showing up in the request. The quick fix was to make the packet variable in getX509Certificates() local, but maybe there should be another WarpPacket class variable that could be reused instead of constructing a new WarpPacket on every invocation? I'll leave that decision to people who are more familiar with the code.
- Glen Nakamura --- webapp-module-1.0.1-tc401/java/WarpRequest.java Wed Oct 31 13:21:33 2001 +++ ../webapp-module-1.0.1-tc401/java/WarpRequest.java Fri Feb 1 14:46:53 2002 @@ -201,8 +201,9 @@ public String getX509Certificates() throws IOException { if (closed) throw new IOException("Stream closed"); - this.packet.reset(); - this.packet.setType(Constants.TYPE_ASK_SSL_CLIENT); + WarpPacket packet = new WarpPacket(); + packet.reset(); + packet.setType(Constants.TYPE_ASK_SSL_CLIENT); this.request.getConnection().send(packet); packet.reset(); @@ -211,7 +212,7 @@ if (packet.getType()==Constants.TYPE_REP_SSL_NO) return(null); if (packet.getType()!=Constants.TYPE_REP_SSL_CERT) throw new IOException("Invalid WARP packet type for CC"); - return(this.packet.readString()); + return(packet.readString()); } /** Read the data from the SSL environment. */ @@ -219,8 +220,9 @@ throws IOException { if (closed) throw new IOException("Stream closed"); - this.packet.reset(); - this.packet.setType(Constants.TYPE_ASK_SSL); + WarpPacket packet = new WarpPacket(); + packet.reset(); + packet.setType(Constants.TYPE_ASK_SSL); this.request.getConnection().send(packet); packet.reset(); @@ -230,9 +232,9 @@ if (packet.getType()!=Constants.TYPE_REP_SSL) throw new IOException("Invalid WARP packet type for SSL data"); WarpSSLData ssldata = new WarpSSLData(); - ssldata.ciph = this.packet.readString(); - ssldata.sess = this.packet.readString(); - ssldata.size = this.packet.readInteger(); + ssldata.ciph = packet.readString(); + ssldata.sess = packet.readString(); + ssldata.size = packet.readInteger(); return(ssldata); } -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>