--- parser3/src/targets/isapi/parser3isapi.C 2002/06/24 11:59:33 1.76 +++ parser3/src/targets/isapi/parser3isapi.C 2003/01/21 15:51:17 1.82 @@ -1,12 +1,12 @@ /** @file Parser: IIS extension. - Copyright (c) 2000,2001, 2002 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2000,2001, 2003 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) - - $Id: parser3isapi.C,v 1.76 2002/06/24 11:59:33 paf Exp $ */ +static const char* IDENT_PARSER3ISAPI_C="$Date: 2003/01/21 15:51:17 $"; + #ifndef _MSC_VER # error compile ISAPI module with MSVC [no urge for now to make it autoconf-ed (PAF)] #endif @@ -30,26 +30,6 @@ // consts -extern const char *main_RCSIds[]; -#ifdef USE_SMTP -extern const char *smtp_RCSIds[]; -#endif -extern const char *gd_RCSIds[]; -extern const char *classes_RCSIds[]; -extern const char *types_RCSIds[]; -extern const char *parser3isapi_RCSIds[]; -const char **RCSIds[]={ - main_RCSIds, -#ifdef USE_SMTP - smtp_RCSIds, -#endif - gd_RCSIds, - classes_RCSIds, - types_RCSIds, - parser3isapi_RCSIds, - 0 -}; - const char *IIS51vars[]={ "APPL_MD_PATH", "APPL_PHYSICAL_PATH", "AUTH_PASSWORD", "AUTH_TYPE", "AUTH_USER", @@ -111,7 +91,8 @@ void SAPI::die(const char *fmt, ...) { vfprintf(log, fmt, args); fclose(log); } - exit(1); + // exit & try to produce core dump + abort(); } const char *SAPI::get_env(Pool& pool, const char *name) { @@ -402,10 +383,11 @@ void real_parser_handler(Pool& pool, LPE snprintf(config_filespec, MAX_STRING, "%s/%s", beside_binary_path, AUTO_FILE_NAME); + bool fail_on_config_read_problem=entry_exists(config_filespec); // process the request request.core( - config_filespec, false /*fail_on_read_problem*/, // /path/to/first/auto.p + config_filespec, fail_on_config_read_problem, // /path/to/first/auto.p header_only); } @@ -442,7 +424,7 @@ inline DWORD RealHttpExtensionProc(LPEXT SAPI_func_context ctx={ lpECB, 0, // filling later: so that if there would be error pool would have ctx - 200 // default http_response_code + 200 // default http_response_code [lpECB->dwHttpStatusCode seems to be always 0, even on 404 redirect to /404.html] }; pool.set_context(&ctx);// no allocations before this line!