|  | @@ -2895,19 +2895,39 @@ static void interpret_uri(struct mg_connection *conn,    /* in: request */
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if (mg_stat(conn, filename, filep)) return;
 | 
	
		
			
				|  |  | +    /* Local file path and name, corresponding to requested URI
 | 
	
		
			
				|  |  | +       is now stored in "filename" variable. */
 | 
	
		
			
				|  |  | +    if (mg_stat(conn, filename, filep)) {
 | 
	
		
			
				|  |  | +        /* File exists. Check if it is a script type. */
 | 
	
		
			
				|  |  | +        if (0
 | 
	
		
			
				|  |  | +#if !defined(NO_CGI)
 | 
	
		
			
				|  |  | +            ||
 | 
	
		
			
				|  |  | +            match_prefix(conn->ctx->config[CGI_EXTENSIONS],
 | 
	
		
			
				|  |  | +                         (int)strlen(conn->ctx->config[CGI_EXTENSIONS]), filename) > 0
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +#if defined(USE_LUA)
 | 
	
		
			
				|  |  | +            ||
 | 
	
		
			
				|  |  | +            match_prefix(conn->ctx->config[LUA_SCRIPT_EXTENSIONS],
 | 
	
		
			
				|  |  | +                         (int)strlen(conn->ctx->config[LUA_SCRIPT_EXTENSIONS]), filename) > 0
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +           ) {
 | 
	
		
			
				|  |  | +               *is_script_ressource = 1;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    /* if we can't find the actual file, look for the file
 | 
	
		
			
				|  |  | +    /* If we can't find the actual file, look for the file
 | 
	
		
			
				|  |  |         with the same name but a .gz extension. If we find it,
 | 
	
		
			
				|  |  |         use that and set the gzipped flag in the file struct
 | 
	
		
			
				|  |  |         to indicate that the response need to have the content-
 | 
	
		
			
				|  |  | -       encoding: gzip header
 | 
	
		
			
				|  |  | -       we can only do this if the browser declares support */
 | 
	
		
			
				|  |  | +       encoding: gzip header.
 | 
	
		
			
				|  |  | +       We can only do this if the browser declares support. */
 | 
	
		
			
				|  |  |      if ((accept_encoding = mg_get_header(conn, "Accept-Encoding")) != NULL) {
 | 
	
		
			
				|  |  |          if (strstr(accept_encoding,"gzip") != NULL) {
 | 
	
		
			
				|  |  |              snprintf(gz_path, sizeof(gz_path), "%s.gz", filename);
 | 
	
		
			
				|  |  |              if (mg_stat(conn, gz_path, filep)) {
 | 
	
		
			
				|  |  |                  filep->gzipped = 1;
 | 
	
		
			
				|  |  | +                /* Currently gz files can not be scripts. */
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -2917,9 +2937,13 @@ static void interpret_uri(struct mg_connection *conn,    /* in: request */
 | 
	
		
			
				|  |  |      for (p = filename + strlen(filename); p > filename + 1; p--) {
 | 
	
		
			
				|  |  |          if (*p == '/') {
 | 
	
		
			
				|  |  |              *p = '\0';
 | 
	
		
			
				|  |  | -            if ((match_prefix(conn->ctx->config[CGI_EXTENSIONS],
 | 
	
		
			
				|  |  | +            if ((0
 | 
	
		
			
				|  |  | +#if !defined(NO_CGI)
 | 
	
		
			
				|  |  | +                 ||
 | 
	
		
			
				|  |  | +                 match_prefix(conn->ctx->config[CGI_EXTENSIONS],
 | 
	
		
			
				|  |  |                                (int)strlen(conn->ctx->config[CGI_EXTENSIONS]), filename) > 0
 | 
	
		
			
				|  |  | -#ifdef USE_LUA
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +#if defined(USE_LUA)
 | 
	
		
			
				|  |  |                   ||
 | 
	
		
			
				|  |  |                   match_prefix(conn->ctx->config[LUA_SCRIPT_EXTENSIONS],
 | 
	
		
			
				|  |  |                                (int)strlen(conn->ctx->config[LUA_SCRIPT_EXTENSIONS]), filename) > 0
 |