1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

Remove CGI block on OPTIONS method so that scripts can

respond to OPTIONS directly rather than via server default.

PR: 15242
Reviewed-by: Paul Querna, Andre Malo, William A. Rowe, Jr.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@326255 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Roy T. Fielding
2005-10-18 21:29:43 +00:00
parent ae39692729
commit 16ef40e5ff
3 changed files with 6 additions and 14 deletions

View File

@@ -896,6 +896,12 @@ Changes with Apache 2.1.1
[Apache 2.1.0-dev includes those bug fixes and changes with the [Apache 2.1.0-dev includes those bug fixes and changes with the
Apache 2.0.xx tree as documented, and except as noted, below.] Apache 2.0.xx tree as documented, and except as noted, below.]
Changes with Apache 2.0.56
*) mod_cgi(d): Remove block on OPTIONS method so that scripts can
respond to OPTIONS directly rather than via server default.
[Roy Fielding] PR 15242
Changes with Apache 2.0.55 Changes with Apache 2.0.55
*) SECURITY: CAN-2005-2088 (cve.mitre.org) *) SECURITY: CAN-2005-2088 (cve.mitre.org)

View File

@@ -756,13 +756,6 @@ static int cgi_handler(request_rec *r)
p = r->main ? r->main->pool : r->pool; p = r->main ? r->main->pool : r->pool;
if (r->method_number == M_OPTIONS) {
/* 99 out of 100 CGI scripts, this is all they support */
r->allowed |= (AP_METHOD_BIT << M_GET);
r->allowed |= (AP_METHOD_BIT << M_POST);
return DECLINED;
}
argv0 = apr_filepath_name_get(r->filename); argv0 = apr_filepath_name_get(r->filename);
nph = !(strncmp(argv0, "nph-", 4)); nph = !(strncmp(argv0, "nph-", 4));
conf = ap_get_module_config(r->server->module_config, &cgi_module); conf = ap_get_module_config(r->server->module_config, &cgi_module);

View File

@@ -1290,13 +1290,6 @@ static int cgid_handler(request_rec *r)
if (strcmp(r->handler,CGI_MAGIC_TYPE) && strcmp(r->handler,"cgi-script")) if (strcmp(r->handler,CGI_MAGIC_TYPE) && strcmp(r->handler,"cgi-script"))
return DECLINED; return DECLINED;
if (r->method_number == M_OPTIONS) {
/* 99 out of 100 cgid scripts, this is all they support */
r->allowed |= (AP_METHOD_BIT << M_GET);
r->allowed |= (AP_METHOD_BIT << M_POST);
return DECLINED;
}
conf = ap_get_module_config(r->server->module_config, &cgid_module); conf = ap_get_module_config(r->server->module_config, &cgid_module);
is_included = !strcmp(r->protocol, "INCLUDED"); is_included = !strcmp(r->protocol, "INCLUDED");