akosut      96/06/13 09:33:52

  Modified:    src       http_protocol.c
  Log:
  Fix problem with multi-port (Listen/VirtualHost ...:port) servers
  conflicting with the Host: header checking code.
  
  Revision  Changes    Path
  1.23      +5 -3      apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -C3 -r1.22 -r1.23
  *** http_protocol.c   1996/06/10 02:04:04     1.22
  --- http_protocol.c   1996/06/13 16:33:50     1.23
  ***************
  *** 352,360 ****
    
    void check_hostalias (request_rec *r) {
      char *host = getword(r->pool, &r->hostname, ':'); /* Get rid of port */
      server_rec *s;
    
  !   if (*r->hostname && (atoi(r->hostname) != r->server->port))
        return;
    
      if ((host[strlen(host)-1]) == '.') {
  --- 352,361 ----
    
    void check_hostalias (request_rec *r) {
      char *host = getword(r->pool, &r->hostname, ':'); /* Get rid of port */
  +   int port = (*r->hostname) ? atoi(r->hostname) : 0;
      server_rec *s;
    
  !   if (port && (port != r->server->port))
        return;
    
      if ((host[strlen(host)-1]) == '.') {
  ***************
  *** 365,372 ****
    
      for (s = r->server->next; s; s = s->next) {
        char *names = s->names;
  ! 
  !     if (!strcasecmp(host, s->server_hostname)) {
          r->server = r->connection->server = s;
          if (r->hostlen && !strncmp(r->uri, "http://";, 7)) {
        r->uri += r->hostlen;
  --- 366,374 ----
    
      for (s = r->server->next; s; s = s->next) {
        char *names = s->names;
  !     
  !     if ((!strcasecmp(host, s->server_hostname)) &&
  !     (!port || (port == s->port))) {
          r->server = r->connection->server = s;
          if (r->hostlen && !strncmp(r->uri, "http://";, 7)) {
        r->uri += r->hostlen;
  
  
  

Reply via email to