httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: [PATCH] PR#146,187 is_url() not HTTP/1.1 conformant
Date Tue, 04 Mar 1997 22:09:07 GMT
+1

Dean

On Thu, 27 Feb 1997, Rodent of Unusual Size wrote:

>     Both PR#146 and #187 complain that is_url() is being fascistic about
>     what constitutes a valid URL.  Currently it requires "[a-zA-Z]*://",
>     but RFC2068 says it should be "[-.+a-zA-Z0-9]+:".  (That is, if
>     is_url() is supposed to be checking for an absoluteURI syntax.)
> 
>     This patch makes is_url() compliant with RFC2068 section 3.2.  The
>     `if' statement is a little clunky, but..
> 
>     #ken    :-)}
> 
> Index: util.c
> ===================================================================
> RCS file: /usr/users/coar/myApache/repository/apache/src/util.c,v
> retrieving revision 1.43
> diff -c -r1.43 util.c
> *** 1.43	1997/02/18 16:27:26
> --- util.c	1997/02/27 18:23:23
> ***************
> *** 903,918 ****
>       else return pstrcat (a, src1, src2, NULL);
>   }
>   
>   int is_url(const char *u) {
>       register int x;
>   
> !     for(x=0;u[x] != ':';x++)
> !         if((!u[x]) || (!isalpha(u[x])))
>               return 0;
>   
> !     if((u[x+1] == '/') && (u[x+2] == '/'))
> !         return 1;
> !     else return 0;
>   }
>   
>   int can_exec(const struct stat *finfo) {
> --- 903,923 ----
>       else return pstrcat (a, src1, src2, NULL);
>   }
>   
> + /*
> +  * Check for an absoluteURI syntax (see section 3.2 in RFC2068).
> +  */
>   int is_url(const char *u) {
>       register int x;
>   
> !     for (x = 0; u[x] != ':'; x++) {
> !         if ((! u[x]) ||
> ! 	    ((! isalpha(u[x])) && (! isdigit(u[x])) &&
> ! 	     (u[x] != '+') && (u[x] != '-') && (u[x] != '.'))) {
>               return 0;
> + 	}
> +     }
>   
> !     return (x ? 1 : 0);  /* If the first character is ':', it's broken, too */
>   }
>   
>   int can_exec(const struct stat *finfo) {
> 


Mime
View raw message