Exemple #1
0
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;
}
Exemple #4
0
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;
}