httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dgau...@hyperreal.org
Subject cvs commit: apache-1.3/src/main http_protocol.c
Date Fri, 13 Mar 1998 07:12:56 GMT
dgaudet     98/03/12 23:12:56

  Modified:    src/main http_protocol.c
  Log:
  Move this ugly platform specific code from parse_uri_components() into
  parse_uri().  Guys this is probably something that should be done
  elsewhere.  Like maybe in directory_walk().
  
  Revision  Changes    Path
  1.196     +16 -0     apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.195
  retrieving revision 1.196
  diff -u -r1.195 -r1.196
  --- http_protocol.c	1998/03/10 06:13:50	1.195
  +++ http_protocol.c	1998/03/13 07:12:54	1.196
  @@ -594,6 +594,22 @@
   	r->args = r->parsed_uri.query;
   	r->uri = r->parsed_uri.path ? r->parsed_uri.path
   				    : pstrdup(r->pool, "/");
  +#if defined(__EMX__) || defined(WIN32)
  +	/* Handle path translations for OS/2 and plug security hole.
  +	 * This will prevent "http://www.wherever.com/..\..\/" from
  +	 * returning a directory for the root drive.
  +	 */
  +	{
  +	    char *x;
  +
  +	    for (x = r->uri; (x = strchr(x, '\\')) != NULL; )
  +		*x = '/';
  +#ifndef WIN32   /* for OS/2 only: */
  +	    /* Fix OS/2 HPFS filename case problem. */
  +	    str_tolower(r->uri);
  +#endif
  +	}
  +#endif  /* __EMX__ || WIN32 */
       }
       else {
   	r->args = NULL;
  
  
  

Mime
View raw message