nacho       01/01/13 10:36:27

  Modified:    src/share/org/apache/tomcat/service/http Tag: tomcat_32
                        HttpRequestAdapter.java
  Log:
  Bug Report #743
  request.getServerPort() reports wrong port with SSL (https)
  Submitted by Andreas Schildbach  [EMAIL PROTECTED]
  Patch by Dimitris Dinodimos [[EMAIL PROTECTED]]
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.16.2.6  +17 -15    
jakarta-tomcat/src/share/org/apache/tomcat/service/http/Attic/HttpRequestAdapter.java
  
  Index: HttpRequestAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/http/Attic/HttpRequestAdapter.java,v
  retrieving revision 1.16.2.5
  retrieving revision 1.16.2.6
  diff -u -r1.16.2.5 -r1.16.2.6
  --- HttpRequestAdapter.java   2001/01/12 04:27:04     1.16.2.5
  +++ HttpRequestAdapter.java   2001/01/13 18:36:27     1.16.2.6
  @@ -247,21 +247,23 @@
       }
   
       public int getServerPort() {
  -        if(serverPort == -1) {
  -            //XXX Which is the default in case we can not get the port
  -            //from the request??
  -            serverPort=socket.getLocalPort();
  -            String hostHeader = this.getHeader("host");
  -            if (hostHeader != null) {
  -                int i = hostHeader.indexOf(':');
  -                if (i > -1) {
  -                    hostHeader = hostHeader.substring(i+1);
  -                    try{
  -                        serverPort=Integer.parseInt(hostHeader);
  -                    }catch(NumberFormatException pex){
  -                    }
  -                }else serverPort=80;
  -            }
  +        if (serverPort != -1)
  +            return serverPort;
  +        String hostHeader = this.getHeader("host");
  +        if (hostHeader == null)
  +            serverPort = socket.getLocalPort();
  +        else {
  +            int i = hostHeader.indexOf(':');
  +            if (i > -1) {
  +                hostHeader = hostHeader.substring(i+1);
  +                try {
  +                    serverPort = Integer.parseInt(hostHeader);
  +                } catch (NumberFormatException pex) {
  +                }
  +            } else if (isSecure())
  +                serverPort = 443;
  +            else
  +                serverPort = 80;
           }
           return serverPort;
       }
  
  
  

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

Reply via email to