You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by wr...@apache.org on 2002/04/12 08:35:15 UTC
cvs commit: httpd-2.0/modules/arch/win32 mod_win32.c
wrowe 02/04/11 23:35:15
Modified: modules/arch/win32 mod_win32.c
Log:
Flip the order. If the user specifies ScriptInterpreterSource,
either Registry or RegistryStrict, test the registry in preference
over a shebang line. This is how 1.3 behaved, and allows scripts
with invalid shebang lines (straight from another box, for example)
to run without modification.
Revision Changes Path
1.11 +17 -15 httpd-2.0/modules/arch/win32/mod_win32.c
Index: mod_win32.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/arch/win32/mod_win32.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- mod_win32.c 13 Mar 2002 20:47:44 -0000 1.10
+++ mod_win32.c 12 Apr 2002 06:35:15 -0000 1.11
@@ -439,6 +439,23 @@
|| !strcasecmp(ext,".bat") || !strcasecmp(ext,".cmd"))) {
interpreter = "";
}
+ if (!interpreter && ext
+ && (d->script_interpreter_source
+ == INTERPRETER_SOURCE_REGISTRY
+ || d->script_interpreter_source
+ == INTERPRETER_SOURCE_REGISTRY_STRICT)) {
+ /* Check the registry */
+ int strict = (d->script_interpreter_source
+ == INTERPRETER_SOURCE_REGISTRY_STRICT);
+ interpreter = get_interpreter_from_win32_registry(r->pool, ext,
+ strict);
+ if (!interpreter) {
+ ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, 0, r->server,
+ strict ? "No ExecCGI verb found for files of type '%s'."
+ : "No ExecCGI or Open verb found for files of type '%s'.",
+ ext);
+ }
+ }
if (!interpreter) {
apr_status_t rv;
char buffer[1024];
@@ -487,21 +504,6 @@
interpreter = "";
}
}
- }
- }
- if (!interpreter && ext &&
- (d->script_interpreter_source == INTERPRETER_SOURCE_REGISTRY
- || d->script_interpreter_source == INTERPRETER_SOURCE_REGISTRY_STRICT)) {
- /* Check the registry */
- int strict = (d->script_interpreter_source
- == INTERPRETER_SOURCE_REGISTRY_STRICT);
- interpreter = get_interpreter_from_win32_registry(r->pool, ext,
- strict);
- if (!interpreter) {
- ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, 0, r->server,
- strict ? "No ExecCGI verb found for files of type '%s'."
- : "No ExecCGI or Open verb found for files of type '%s'.",
- ext);
}
}
if (!interpreter) {