BOOL WINAPI GetFilterVersion(HTTP_FILTER_VERSION *pVer) { LOG(("start filter\n")); // log_event("start iis_srun filter"); TCHAR sz[SF_MAX_FILTER_DESC_LEN+1]; LoadString(AfxGetResourceHandle(), IDS_SERVER, sz, SF_MAX_FILTER_DESC_LEN); _tcscpy(pVer->lpszFilterDesc, sz); char dllName[1024]; GetModuleFileName(AfxGetResourceHandle(), dllName, sizeof(dllName)); int i; if (g_config) return TRUE; for (i = strlen(dllName) - 1; i >= 0 && dllName[i] != '/' && dllName[i] != '\\'; i--) { } if (i < 0) i = 0; dllName[i] = 0; g_config = (config_t *) malloc(sizeof (config_t)); memset(g_config, 0, sizeof(config_t)); cse_init_config(g_config); findResinIni(dllName, g_config); LOG(("loading %s as config %x\n", dllName, g_config)); pVer->dwFilterVersion = HTTP_FILTER_REVISION; // Anh : Add SF_NOTIFY_AUTH_COMPLETE for IIS5.0 pVer->dwFlags = (SF_NOTIFY_PREPROC_HEADERS |SF_NOTIFY_LOG |SF_NOTIFY_AUTH_COMPLETE); if (g_config->override_iis_authentication) pVer->dwFlags |= SF_NOTIFY_AUTHENTICATION; if (! g_config->iis_priority) pVer->dwFlags |= SF_NOTIFY_ORDER_DEFAULT; else if (! stricmp(g_config->iis_priority, "low")) pVer->dwFlags |= SF_NOTIFY_ORDER_LOW; else if (! stricmp(g_config->iis_priority, "medium")) pVer->dwFlags |= SF_NOTIFY_ORDER_MEDIUM; else if (! stricmp(g_config->iis_priority, "high")) pVer->dwFlags |= SF_NOTIFY_ORDER_HIGH; else pVer->dwFlags |= SF_NOTIFY_ORDER_DEFAULT; return TRUE; }
static void * cse_create_dir_config(apr_pool_t *p, char *path) { config_t *config = (config_t *) apr_pcalloc(p, sizeof(config_t)); memset(config, 0, sizeof(config_t)); config->web_pool = p; cse_init_config(config); return (void *) config; }
static void * cse_create_server_config(apr_pool_t *p, server_rec *s) { config_t *config = (config_t *) apr_pcalloc(p, sizeof(config_t)); memset(config, 0, sizeof(config_t)); config->web_pool = p; config->start_time = g_start_time; cse_init_config(config); return (void *) config; }
BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO* pVer) { LOG(("start extension\n")); // Load description string TCHAR sz[HSE_MAX_EXT_DLL_NAME_LEN+1]; LoadString(AfxGetResourceHandle(), IDS_SERVER, sz, HSE_MAX_EXT_DLL_NAME_LEN); _tcscpy(pVer->lpszExtensionDesc, sz); char dllBuffer[1024]; char *dllName = dllBuffer; GetModuleFileName(AfxGetResourceHandle(), dllName, sizeof(dllBuffer)); int i; if (g_config) return TRUE; // find DLL directory for (i = strlen(dllName) - 1; i >= 0 && dllName[i] != '/' && dllName[i] != '\\'; i--) { } /* for (i--; i >= 0 && dllName[i] != '/' && dllName[i] != '\\'; i--) { } */ if (i < 0) i = 0; dllName[i] = 0; if (! strncmp(dllName, "\\\\?\\", 4)) dllName += 4; g_config = (config_t *) malloc(sizeof (config_t)); memset(g_config, 0, sizeof(config_t)); cse_init_config(g_config); findResinIni(dllName, g_config); cse_init_config(g_config); return TRUE; }
static void * cse_create_server_config(pool *p, server_rec *server) { config_t *config; if (! g_pool) g_pool = ap_make_sub_pool(p); config = (config_t *) ap_pcalloc(g_pool, sizeof(config_t)); memset(config, 0, sizeof(config_t)); config->web_pool = g_pool; cse_init_config(config); g_config = config; return (void *) config; }