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) {