From: oes Date: Wed, 25 Sep 2002 14:53:15 +0000 (+0000) Subject: Added basic support for OPTIONS and TRACE HTTP methods: X-Git-Tag: v_3_0_1~132 X-Git-Url: http://www.privoxy.org/gitweb/copyright.html?a=commitdiff_plain;h=4e458f2c89bec5e97705a96033b851b9a70f2205;p=privoxy.git Added basic support for OPTIONS and TRACE HTTP methods: parse_http_url now recognizes the "*" URI as well as the OPTIONS and TRACE method keywords. --- diff --git a/urlmatch.c b/urlmatch.c index 34f23b02..f3aa6a6b 100644 --- a/urlmatch.c +++ b/urlmatch.c @@ -1,7 +1,7 @@ -const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.10 2002/05/12 21:40:37 jongfoster Exp $"; +const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.10.2.1 2002/06/06 19:06:44 jongfoster Exp $"; /********************************************************************* * - * File : $Source: /cvsroot/ijbswa/current/Attic/urlmatch.c,v $ + * File : $Source: /cvsroot/ijbswa//current/Attic/urlmatch.c,v $ * * Purpose : Declares functions to match URLs against URL * patterns. @@ -33,6 +33,9 @@ const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.10 2002/05/12 21:40:37 jongfost * * Revisions : * $Log: urlmatch.c,v $ + * Revision 1.10.2.1 2002/06/06 19:06:44 jongfoster + * Adding support for proprietary Microsoft WebDAV extensions + * * Revision 1.10 2002/05/12 21:40:37 jongfoster * - Removing some unused code * @@ -155,8 +158,8 @@ void free_http_request(struct http_request *http) * * Returns : JB_ERR_OK on success * JB_ERR_MEMORY on out of memory - * JB_ERR_CGI_PARAMS on malformed command/URL - * or >100 domains deep. + * JB_ERR_PARSE on malformed command/URL + * or >100 domains deep. * *********************************************************************/ jb_err parse_http_url(const char * url, @@ -179,6 +182,17 @@ jb_err parse_http_url(const char * url, } + /* + * Check for * URI. If found, we're done. + */ + if (*http->url == '*') + { + http->path = strdup("*"); + http->hostport = strdup(""); + return JB_ERR_OK; + } + + /* * Split URL into protocol,hostport,path. */ @@ -301,10 +315,10 @@ jb_err parse_http_url(const char * url, } } - /* * Split domain name so we can compare it against wildcards */ + { char *vec[BUFFER_SIZE]; size_t size; @@ -349,8 +363,8 @@ jb_err parse_http_url(const char * url, memcpy(http->dvec, vec, size); } - return JB_ERR_OK; + } @@ -409,6 +423,8 @@ jb_err parse_http_request(const char *req, || (0 == strcmpic(v[0], "post")) || (0 == strcmpic(v[0], "put")) || (0 == strcmpic(v[0], "delete")) + || (0 == strcmpic(v[0], "options")) + || (0 == strcmpic(v[0], "trace")) /* or a webDAV extension (RFC2518) */ || (0 == strcmpic(v[0], "propfind"))