I'm very strongly -1 on this. The o.a.coyote.Request should not have a set/getSocket method for the simple reason that there is no reason that Coyote should be assumed to be tied to a socket transport.
CertificatesValve doesn't do anything any more with Coyote. It is only left around to support the deprecated Http11Connector. ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, June 05, 2003 9:42 AM Subject: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java Http11Protocol.java > luehe 2003/06/05 09:42:48 > > Modified: coyote/src/java/org/apache/coyote Request.java > http11/src/java/org/apache/coyote/http11 > Http11Processor.java Http11Protocol.java > Log: > Removed setSocket() method from org.apache.catalina.Request, since it > was never called in any of the classes implementing this interface. > > For example, setSocket() was never called on > org.apache.coyote.tomcat5.CoyoteRequest, causing its getSocket() > method to always return null, which broke the CertificatesValve, which > relies on having access to the (SSL)Socket so that it can reinitiate a > handshake if necessary. > > Instead, added setSocket() and getSocket() methods on org.apache.coyote.Request: > > - setSocket() is called as part of > org.apache.coyote.http11.Http11Processor.setSocket(), as follows: > > public void setSocket(Socket socket) > throws IOException { > this.socket = socket; > this.request.setSocket(socket); // NEW > } > > - getSocket() is called as part of > org.apache.coyote.tomcat5.CoyoteRequest.getSocket(), as follows: > > diff -u -r1.5 CoyoteRequest.java > --- CoyoteRequest.java 31 May 2003 15:00:25 -0000 1.5 > +++ CoyoteRequest.java 5 Jun 2003 16:41:17 -0000 > @@ -633,20 +633,7 @@ > * an SSLSocket. > */ > public Socket getSocket() { > - return (socket); > - } > - > - /** > - * Set the Socket (if any) through which this Request was received. > - * > - * @param socket The socket through which this request was received > - */ > - public void setSocket(Socket socket) { > - this.socket = socket; > - remoteHost = null; > - remoteAddr = null; > - remotePort = -1; > - localAddr = null; > + return coyoteRequest.getSocket(); > } > > Revision Changes Path > 1.21 +20 -0 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/Request.java > > Index: Request.java > =================================================================== > RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/Reques t.java,v > retrieving revision 1.20 > retrieving revision 1.21 > diff -u -r1.20 -r1.21 > --- Request.java 23 Mar 2003 08:57:48 -0000 1.20 > +++ Request.java 5 Jun 2003 16:42:48 -0000 1.21 > @@ -62,6 +62,7 @@ > > import java.io.IOException; > import java.util.Hashtable; > +import java.net.Socket; > > import org.apache.tomcat.util.buf.ByteChunk; > import org.apache.tomcat.util.buf.MessageBytes; > @@ -137,6 +138,8 @@ > > private int remotePort; > > + private Socket socket; > + > private MessageBytes schemeMB = new MessageBytes(); > > private MessageBytes methodMB = new MessageBytes(); > @@ -304,6 +307,23 @@ > this.remotePort = port; > } > > + /** > + * Sets the socket through which this request was received. > + * > + * @param socket The socket through which this request was received > + */ > + public void setSocket(Socket socket) { > + this.socket = socket; > + } > + > + /** > + * Gets the socket through which this request was received. > + * > + * @return The socket through which this request was received > + */ > + public Socket getSocket() { > + return socket; > + } > > // -------------------- encoding/type -------------------- > > > > > 1.66 +1 -0 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Pro cessor.java > > Index: Http11Processor.java > =================================================================== > RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 /Http11Processor.java,v > retrieving revision 1.65 > retrieving revision 1.66 > diff -u -r1.65 -r1.66 > --- Http11Processor.java 13 May 2003 22:45:58 -0000 1.65 > +++ Http11Processor.java 5 Jun 2003 16:42:48 -0000 1.66 > @@ -517,6 +517,7 @@ > public void setSocket(Socket socket) > throws IOException { > this.socket = socket; > + this.request.setSocket(socket); > } > > /** > > > > 1.27 +6 -5 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Pro tocol.java > > Index: Http11Protocol.java > =================================================================== > RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 /Http11Protocol.java,v > retrieving revision 1.26 > retrieving revision 1.27 > diff -u -r1.26 -r1.27 > --- Http11Protocol.java 22 May 2003 04:51:03 -0000 1.26 > +++ Http11Protocol.java 5 Jun 2003 16:42:48 -0000 1.27 > @@ -86,8 +86,8 @@ > */ > public class Http11Protocol implements ProtocolHandler, MBeanRegistration > { > - > public Http11Protocol() { > + cHandler = new Http11ConnectionHandler( this ); > setSoLinger(Constants.DEFAULT_CONNECTION_LINGER); > setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT); > setServerSoTimeout(Constants.DEFAULT_SERVER_SOCKET_TIMEOUT); > @@ -99,9 +99,6 @@ > protected static StringManager sm = > StringManager.getManager(Constants.Package); > > - Adapter adapter; > - Http11ConnectionHandler cHandler=new Http11ConnectionHandler( this ); > - > /** Pass config info > */ > public void setAttribute( String name, Object value ) { > @@ -220,6 +217,9 @@ > private String reportedname; > private int socketCloseDelay=-1; > private boolean disableUploadTimeout = true; > + private Adapter adapter; > + private Http11ConnectionHandler cHandler; > + > /** > * Compression value. > */ > @@ -442,7 +442,8 @@ > return thData; > } > > - public void processConnection(TcpConnection connection, Object thData[]) { > + public void processConnection(TcpConnection connection, > + Object thData[]) { > Socket socket=null; > Http11Processor processor=null; > try { > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]