On Thu, 2002-08-29 at 04:28, Bill Barker wrote: > The question in 12052 is whether Apache should use the socket port (as it > does now), or the port in the Host header. When this came up with the > Coyote/Http11 connector, the decision was that the Host header was the > correct one. I'd have to say that the bug is valid.
This is what the API (2.2) docs say about the getServerPort(): ---------------- Returns the port number on which this request was received. For HTTP servlets, same as the value of the CGI variable SERVER_PORT. ---------------- This in itself could be contradicting, but I think that in the case of Apache it is pretty straightforward. This is what Apache 2.0 does to populate the variable SERVER_PORT: ---------------- apr_table_addn(e, "SERVER_PORT", apr_psprintf(r->pool, "%u", ap_get_server_port(r))); ---------------- And this is the ap_get_server_port(): ---------------- AP_DECLARE(apr_port_t) ap_get_server_port(const request_rec *r) { apr_port_t port; core_dir_config *d = (core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module); if (d->use_canonical_name == USE_CANONICAL_NAME_OFF || d->use_canonical_name == USE_CANONICAL_NAME_DNS) { /* With UseCanonicalName off Apache will form self-referential * URLs using the hostname and port supplied by the client if * any are supplied (otherwise it will use the canonical name). */ port = r->parsed_uri.port ? r->parsed_uri.port : r->server->port ? r->server->port : ap_default_port(r); } else { /* d->use_canonical_name == USE_CANONICAL_NAME_ON */ /* With UseCanonicalName on (and in all versions prior to 1.3) * Apache will use the hostname and port specified in the * ServerName directive to construct a canonical name for the * server. (If no port was specified in the ServerName * directive, Apache uses the port supplied by the client if * any is supplied, and finally the default port for the protocol * used. */ port = r->server->port ? r->server->port : r->connection->local_addr->port ? r->connection->local_addr->port ap_default_port(r); } /* default */ return port; } ---------------- This doesn't seem like coming from headers, but rather from URL or as indicated by the server itself. What do you think? Bojan -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>