/**********************************************************************/ /** Microsoft Windows NT **/ /** Copyright(c) Microsoft Corp., 1993 **/ /**********************************************************************/ /* w3cons.hxx This file contains the global constant definitions for the W3 Service. FILE HISTORY: KeithMo 07-Mar-1993 Created. */ #ifndef _W3CONS_H_ #define _W3CONS_H_ # include "strconst.h" #define W3_MODULE_NAME "w3svc.dll" #define W3_ADVERTISE_NAME_SUFFIX "_HTTP" #define W3_ADVERTISE_SECURE_NAME_SUFFIX "_HTTPS" #define MAX_W3_COMPUTER_NAME_LENGTH 25 #define MAX_W3_ADVERTISE_NAME_LENGTH (MAX_W3_COMPUTER_NAME_LENGTH + sizeof(W3_ADVERTISE_NAME_SUFFIX)) #define MAX_W3_ADVERTISE_SECURE_NAME_LENGTH (MAX_W3_COMPUTER_NAME_LENGTH + sizeof(W3_ADVERTISE_SECURE_NAME_SUFFIX)) #define W3_TEMP_PREFIX "WWW" // // HTTP server response string IDs // // Commented out codes are not used // #define IDS_HTRESP_OK (ID_HTTP_ERROR_BASE+200) #define IDS_HTRESP_CREATED (ID_HTTP_ERROR_BASE+201) //#define IDS_HTRESP_ACCEPTED (ID_HTTP_ERROR_BASE+202) //#define IDS_HTRESP_PARTIAL (ID_HTTP_ERROR_BASE+203) #define IDS_HTRESP_NO_CONTENT (ID_HTTP_ERROR_BASE+204) //#define IDS_HTRESP_MULTIPLE_CHOICE (ID_HTTP_ERROR_BASE+300) #define IDS_HTRESP_MOVED (ID_HTTP_ERROR_BASE+301) #define IDS_HTRESP_REDIRECT (ID_HTTP_ERROR_BASE+302) #define IDS_HTRESP_REDIRECT_METHOD (ID_HTTP_ERROR_BASE+303) #define IDS_HTRESP_NOT_MODIFIED (ID_HTTP_ERROR_BASE+304) #define IDS_HTRESP_BAD_REQUEST (ID_HTTP_ERROR_BASE+400) #define IDS_HTRESP_DENIED (ID_HTTP_ERROR_BASE+401) //#define IDS_HTRESP_PAYMENT_REQ (ID_HTTP_ERROR_BASE+402) #define IDS_HTRESP_FORBIDDEN (ID_HTTP_ERROR_BASE+403) #define IDS_HTRESP_NOT_FOUND (ID_HTTP_ERROR_BASE+404) #define IDS_HTRESP_METHOD_NOT_ALLOWED (ID_HTTP_ERROR_BASE+405) #define IDS_HTRESP_NONE_ACCEPTABLE (ID_HTTP_ERROR_BASE+406) #define IDS_HTRESP_PROXY_AUTH_REQ (ID_HTTP_ERROR_BASE+407) //#define IDS_HTRESP_REQUEST_TIMEOUT (ID_HTTP_ERROR_BASE+408) //#define IDS_HTRESP_CONFLICT (ID_HTTP_ERROR_BASE+409) //#define IDS_HTRESP_GONE (ID_HTTP_ERROR_BASE+410) #define IDS_HTRESP_LENGTH_REQUIRED (ID_HTTP_ERROR_BASE+411) #define IDS_HTRESP_PRECOND_FAILED (ID_HTTP_ERROR_BASE+412) #define IDS_HTRESP_URL_TOO_LONG (ID_HTTP_ERROR_BASE+414) #define IDS_HTRESP_RANGE_NOT_SATISFIABLE (ID_HTTP_ERROR_BASE+416) #define IDS_HTRESP_SERVER_ERROR (ID_HTTP_ERROR_BASE+500) #define IDS_HTRESP_NOT_SUPPORTED (ID_HTTP_ERROR_BASE+501) #define IDS_HTRESP_BAD_GATEWAY (ID_HTTP_ERROR_BASE+502) #define IDS_HTRESP_SERVICE_UNAVAIL (ID_HTTP_ERROR_BASE+503) #define IDS_HTRESP_GATEWAY_TIMEOUT (ID_HTTP_ERROR_BASE+504) // // Directory browsing strings // #define IDS_DIRBROW_TOPARENT (STR_RES_ID_BASE+2000) #define IDS_DIRBROW_DIRECTORY (STR_RES_ID_BASE+2001) // // Mini HTML URL Moved document // #define IDS_URL_MOVED (STR_RES_ID_BASE+2100) #define IDS_SITE_ACCESS_DENIED (STR_RES_ID_BASE+2101) #define IDS_BAD_CGI_APP (STR_RES_ID_BASE+2102) #define IDS_CGI_APP_TIMEOUT (STR_RES_ID_BASE+2103) // // Various error messages // #define IDS_TOO_MANY_USERS (STR_RES_ID_BASE+2122) #define IDS_OUT_OF_LICENSES (STR_RES_ID_BASE+2123) #define IDS_READ_ACCESS_DENIED (STR_RES_ID_BASE+2124) #define IDS_EXECUTE_ACCESS_DENIED (STR_RES_ID_BASE+2125) #define IDS_SSL_REQUIRED (STR_RES_ID_BASE+2126) #define IDS_WRITE_ACCESS_DENIED (STR_RES_ID_BASE+2127) #define IDS_PUT_RANGE_UNSUPPORTED (STR_RES_ID_BASE+2128) #define IDS_CERT_REQUIRED (STR_RES_ID_BASE+2129) #define IDS_ADDR_REJECT (STR_RES_ID_BASE+2130) #define IDS_SSL128_REQUIRED (STR_RES_ID_BASE+2131) #define IDS_INVALID_CNFG (STR_RES_ID_BASE+2132) #define IDS_PWD_CHANGE (STR_RES_ID_BASE+2133) #define IDS_MAPPER_DENY_ACCESS (STR_RES_ID_BASE+2134) #define IDS_ERROR_FOOTER (STR_RES_ID_BASE+2135) #define IDS_URL_TOO_LONG (STR_RES_ID_BASE+2136) #define IDS_CANNOT_DETERMINE_LENGTH (STR_RES_ID_BASE+2137) #define IDS_UNSUPPORTED_CONTENT_TYPE (STR_RES_ID_BASE+2138) #if defined(CAL_ENABLED) #define IDS_CAL_EXCEEDED (STR_RES_ID_BASE+2139) #endif #define IDS_HOST_REQUIRED (STR_RES_ID_BASE+2140) #define IDS_METHOD_NOT_SUPPORTED (STR_RES_ID_BASE+2141) // // Next few are metadata config errors. These need to be consecutive // and corresponding with the error types in metacach.hxx // #define IDS_METADATA_CONFIG_ERROR (STR_RES_ID_BASE+2142) #define IDS_METADATA_CONFIG_TYPE_ERROR (STR_RES_ID_BASE+2142) #define IDS_METADATA_CONFIG_VALUE_ERROR (STR_RES_ID_BASE+2143) #define IDS_METADATA_CONFIG_WIN32_ERROR (STR_RES_ID_BASE+2144) #define IDS_LENGTH_REQUIRED (STR_RES_ID_BASE+2145) #define IDS_CERT_REVOKED (STR_RES_ID_BASE+2146) #define IDS_WAM_FAILTOLOAD_ERROR (STR_RES_ID_BASE+2147) #define IDS_WAM_FAILTOLOADONW95_ERROR (STR_RES_ID_BASE+2148) #define IDS_WAM_NOMORERECOVERY_ERROR (STR_RES_ID_BASE+2149) #define IDS_PUT_CONTENTION (STR_RES_ID_BASE+2150) #define IDS_DIR_LIST_DENIED (STR_RES_ID_BASE+2151) // // CPU Logging Strings for UI // #define IDS_CPU_LOGGING_NAME_EVENT (STR_RES_ID_BASE+2152) #define IDS_CPU_LOGGING_NAME_ACTIVE_PROCS (STR_RES_ID_BASE+2153) #define IDS_CPU_LOGGING_NAME_KERNEL_TIME (STR_RES_ID_BASE+2154) #define IDS_CPU_LOGGING_NAME_PAGE_FAULTS (STR_RES_ID_BASE+2155) #define IDS_CPU_LOGGING_NAME_PROC_TYPE (STR_RES_ID_BASE+2156) #define IDS_CPU_LOGGING_NAME_TERMINATED_PROCS (STR_RES_ID_BASE+2157) #define IDS_CPU_LOGGING_NAME_TOTAL_PROCS (STR_RES_ID_BASE+2158) #define IDS_CPU_LOGGING_NAME_USER_TIME (STR_RES_ID_BASE+2159) #define IDS_SITE_RESOURCE_BLOCKED (STR_RES_ID_BASE+2160) #define IDS_CPU_LOGGING_NAME (STR_RES_ID_BASE+2161) #define IDS_CERT_BAD (STR_RES_ID_BASE+2162) #define IDS_CERT_TIME_INVALID (STR_RES_ID_BASE+2163) #define IDS_SITE_NOT_FOUND (STR_RES_ID_BASE+2164) #ifndef RC_INVOKED // // Version string for this server // #define MSW3_VERSION_STR_IIS "Microsoft-IIS/5.1" #define MSW3_VERSION_STR_W95 "Microsoft-IIS/5.1" #define MSW3_VERSION_STR_NTW "Microsoft-IIS/5.1" // // Set to the largest of the three // #define MSW3_VERSION_STR_MAX MSW3_VERSION_STR_W95 // // Creates the version string // #define MAKE_VERSION_STRING( _s ) ("Server: " ##_s "\r\n") // // MIME version we say we support // #define W3_MIME_VERSION_STR "MIME-version: 1.0" // // The IANA reserved SSL Port // #define HTTP_SSL_PORT 443 // // STR_CONST is defined to expand the parameter (constant string) // in an efficient manner for STR::Append() and STR::Copy() // // Both Append() and Copy do efficient copies (without strlen() // when given the size of string. Let us give the size as well. // // Eg: strResp.Append( STR_CONST( "MyHeader: My Value\r\n")); // # define STR_CONST( constSTR) constSTR, (sizeof(constSTR) - 1) // // Append a literal string to a pointer and update pointer // #define APPEND_STRING(a,b) \ {memcpy(a,b,sizeof(b)); a += sizeof(b)-sizeof(CHAR);} // // Append a string to a pointer and update pointer // #define APPEND_STRING_VAR(a,b) \ {DWORD cb; cb = strlen(b); memcpy(a,b,cb+sizeof(CHAR)); a += cb;} // // Append the server version string // #define APPEND_VER_STR(_s) { \ CopyMemory((_s),szServerVersion,cbServerVersionString+1); \ (_s) += cbServerVersionString; \ } // // Appends a "
" to the current tail pointer // #define APPEND_STR_HEADER( pszTail, Header, Str, Trailer ) \ { DWORD cb = (Str).QueryCB(); \ \ APPEND_STRING( (pszTail), (Header) ); \ memcpy( (pszTail), (Str).QueryStr(), cb + 1 );\ (pszTail) += cb; \ APPEND_STRING( (pszTail), (Trailer) );\ } #define APPEND_PSZ_HEADER( pszTail, Header, psz, Trailer ) \ { DWORD cb = strlen( psz ); \ \ APPEND_STRING( (pszTail), (Header) ); \ memcpy( (pszTail), (psz), cb + 1 ); \ (pszTail) += cb; \ APPEND_STRING( (pszTail), (Trailer) );\ } // // Appends a "
<#> " to the current tail pointer // #define APPEND_NUMERIC_HEADER( pszTail, Header, Num, Trailer ) \ { \ DWORD __cb; \ CHAR __ach[32]; \ \ APPEND_STRING( (pszTail), (Header) ); \ _ultoa( (Num), __ach, 10 ); \ __cb = strlen( __ach ); \ CopyMemory( (pszTail), __ach, __cb+1 );\ (pszTail) += __cb; \ APPEND_STRING( (pszTail), (Trailer) );\ } // // Appends a "
<#> " to the current tail pointer // #define APPEND_NUMERIC_HEADER_TAILVAR( pszTail, Header, Num, Trailer ) \ { \ DWORD __cb; \ CHAR __ach[32]; \ \ APPEND_STRING( (pszTail), (Header) ); \ _ultoa( (Num), __ach, 10 ); \ __cb = strlen( __ach ); \ CopyMemory( (pszTail), __ach, __cb+1 );\ (pszTail) += __cb; \ APPEND_STRING_VAR( (pszTail), (Trailer) );\ } // // Global locking functions // #define LockGlobals() EnterCriticalSection( &csGlobalLock ) #define UnlockGlobals() LeaveCriticalSection( &csGlobalLock ) // // Job Object Defines // #define NO_W3_CPU_CGI_LIMIT 0 #define NO_W3_CPU_LIMIT 0 // // defaults // #ifdef _NO_TRACING_ #define DEFAULT_DEBUG_FLAGS 0 //0xc0001008 #else #ifndef DEFAULT_TRACE_FLAGS #define DEFAULT_TRACE_FLAGS 0 //0xc0001008 #endif #endif #define DEFAULT_LOAD_FILE "default.htm" #define DEFAULT_DIRECTORY_IMAGE "/images/dir.gif" #define DEFAULT_W3_REALM "" #define DEFAULT_W3_ACCESS_DENIED_MSG "" #define DEFAULT_DIR_BROWSE_CONTROL (DIRBROW_SHOW_DATE | \ DIRBROW_SHOW_TIME | \ DIRBROW_SHOW_SIZE | \ DIRBROW_SHOW_EXTENSION | \ DIRBROW_ENABLED | \ DIRBROW_LOADDEFAULT) #define DEFAULT_SCRIPT_TIMEOUT (15 * 60) #define DEFAULT_GLOBAL_EXPIRE NO_GLOBAL_EXPIRE #define DEFAULT_W3_ALLOW_GUEST TRUE #define DEFAULT_W3_LOG_ERRORS TRUE #define DEFAULT_W3_LOG_SUCCESS TRUE #define DEFAULT_W3_UPLOAD_READ_AHEAD (48 * 1024) // 48k #define DEFAULT_W3_USE_POOL_THREAD_FOR_CGI TRUE #define DEFAULT_W3_ALLOW_KEEP_ALIVES TRUE #define DEFAULT_W3_USE_HOST_NAME FALSE #define DEFAULT_W3_ACCEPT_BYTE_RANGES TRUE #define DEFAULT_W3_NET_LOGON_WKS MD_NETLOGON_WKS_NONE #define DEFAULT_W3_ADV_NOT_PWD_EXP_IN_DAYS 14 // advance notification days #define DEFAULT_W3_ADV_CACHE_TTL (10*60) // in seconds #define DEFAULT_SEND_11 1 #define DEFAULT_USE_ANDRECV 0 #define DEFAULT_PUT_TIMEOUT 30 #define DEFAULT_W3_ALLOW_PATH_INFO_FOR_SCRIPT_MAPPINGS FALSE #define DEFAULT_W3_PROCESS_NTCR_IF_LOGGED_ON TRUE #define DEFAULT_W3_CAL_MODE MD_CAL_MODE_HTTPERR // // Job Object Defaults // #define DEFAULT_W3_CPU_RESET_INTERVAL (60 * 24) #define DEFAULT_W3_CPU_QUERY_INTERVAL 60 #define DEFAULT_W3_CPU_CGI_LIMIT NO_W3_CPU_CGI_LIMIT #define DEFAULT_W3_CPU_LOGGING_OPTIONS MD_CPU_ENABLE_ALL_PROC_LOGGING #define DEFAULT_W3_CPU_LOGGING_MASK MD_CPU_ENABLE_EVENT | \ MD_CPU_ENABLE_PROC_TYPE | \ MD_CPU_ENABLE_USER_TIME | \ MD_CPU_ENABLE_KERNEL_TIME | \ MD_CPU_ENABLE_PAGE_FAULTS | \ MD_CPU_ENABLE_TOTAL_PROCS | \ MD_CPU_ENABLE_ACTIVE_PROCS | \ MD_CPU_ENABLE_TERMINATED_PROCS #define DEFAULT_W3_CPU_LIMIT_EVENTLOG NO_W3_CPU_LIMIT #define DEFAULT_W3_CPU_LIMIT_PRIORITY NO_W3_CPU_LIMIT #define DEFAULT_W3_CPU_LIMIT_PROCSTOP NO_W3_CPU_LIMIT #define DEFAULT_W3_CPU_LIMIT_PAUSE NO_W3_CPU_LIMIT // // Job Object Logging Metabase Paths // #define W3_CPU_LOG_PATH "CPU Accounting/" #define W3_CPU_LOG_EVENT_PATH "Event" #define W3_CPU_LOG_ACTIVE_PROCS_PATH "Active Processes" #define W3_CPU_LOG_KERNEL_TIME_PATH "Kernel Time" #define W3_CPU_LOG_PAGE_FAULT_PATH "Page Faults" #define W3_CPU_LOG_PROCESS_TYPE_PATH "Process Type" #define W3_CPU_LOG_TERMINATED_PROCS_PATH "Terminated Processes" #define W3_CPU_LOG_TOTAL_PROCS_PATH "Total Processes" #define W3_CPU_LOG_USER_TIME_PATH "User Time" #define W3_CPU_LOG_PATH_W L"CPU Accounting/" #define W3_CPU_LOG_EVENT_PATH_W L"Event" #define W3_CPU_LOG_ACTIVE_PROCS_PATH_W L"Active Processes" #define W3_CPU_LOG_KERNEL_TIME_PATH_W L"Kernel Time" #define W3_CPU_LOG_PAGE_FAULT_PATH_W L"Page Faults" #define W3_CPU_LOG_PROCESS_TYPE_PATH_W L"Process Type" #define W3_CPU_LOG_TERMINATED_PROCS_PATH_W L"Terminated Processes" #define W3_CPU_LOG_TOTAL_PROCS_PATH_W L"Total Processes" #define W3_CPU_LOG_USER_TIME_PATH_W L"User Time" #define MIN_W3_CAL_VC_PER_CONNECT 1 #define MAX_W3_CAL_VC_PER_CONNECT 8 #define MIN_CAL_RESERVE_TIMEOUT 1 #define MAX_CAL_RESERVE_TIMEOUT (((DWORD)-1)/1000) // // This is the maximum we allow the global expires value to be set to. This // 10 years in seconds // #define MAX_GLOBAL_EXPIRE 0x12cc0300 // // default connection timeout for w3svc // #define W3_DEF_CONNECTION_TIMEOUT 420 // // Max header name length we'll deal with // #define MAX_HEADER_LENGTH 255 // // They key where the license information is stored // #define W3_LICENSE_KEY ("System\\CurrentControlSet\\Services\\LicenseInfo\\" W3_SERVICE_NAME_A) // // Downlevel client support constants // #define DLC_DEFAULT_COOKIE_NAME "PseudoHost" #define W3_DLC_SUPPORT "DLCSupport" #define W3_DLC_MENU_STRING "DLCMenuString" #define W3_DLC_HOSTNAME_STRING "DLCHostNameString" #define W3_DLC_COOKIE_MENU_DOCUMENT_STRING "DLCCookieMenuDocumentString" #define W3_DLC_MUNGE_MENU_DOCUMENT_STRING "DLCMungeMenuDocumentString" #define W3_DLC_COOKIE_NAME_STRING "DLCCookieNameString" // // Max client request buffer size // #define W3_DEFAULT_MAX_CLIENT_REQUEST_BUFFER ( 128*1024 ) #define W3_MAX_CLIENT_REQUEST_BUFFER_STRING "MaxClientRequestBuffer" // // Toggle for retrieving stack backtraces when appropriate // #define W3_GET_BACKTRACES "GetBackTraces" #endif // !RC_INVOKED #endif // _W3CONS_H_