Hi,

I posted a mail about a problem with r->server->port few days ago,
I did a patch to correct this bug, but i am not sure it's a bug...

the problem was when UseCannonicalName is Off,

If i have a request on port 8095 like:

GET / HTTP/1.1
Host: mydomain.com
\n\n\r

my module is using the r->server->port

the r->server->port will be ap_default_port because of in server/core.c:

(When UseCanonicalName Off)

port = r->parsed_uri.port ? r->parsed_uri.port :
r->server->port ? r->server->port :
ap_default_port(r);

so, i did:

port = r->parsed_uri.port ? r->parsed_uri.port :
r->server->port ? r->server->port :
r->connection->local_addr->port ? r->connection->local_addr->port :
ap_default_port(r);

I dunno if i am true or false.

it's now working in my module, it's finding r->server->port = 8095 instead of 80


regards,

Estrade Matthieu


? patch.serverport
Index: core.c
===================================================================
RCS file: /home/cvspublic/httpd-2.0/server/core.c,v
retrieving revision 1.225
diff -u -r1.225 core.c
--- core.c      16 Nov 2002 02:27:33 -0000      1.225
+++ core.c      25 Nov 2002 16:25:09 -0000
@@ -905,6 +905,7 @@
          */
         port = r->parsed_uri.port ? r->parsed_uri.port :
                r->server->port ? r->server->port :
+               r->connection->local_addr->port ? r->connection->local_addr->port :
                ap_default_port(r);
     }
     else { /* d->use_canonical_name == USE_CANONICAL_NAME_ON */


Reply via email to