You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by na...@apache.org on 2002/04/20 05:06:18 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/server/isapi isapi.def isapi.dsp jk_iis.h jk_isapi_plugin.c jk_service_iis.c
nacho 02/04/19 20:06:18
Modified: jk/native2/server/isapi isapi.dsp jk_iis.h jk_isapi_plugin.c
jk_service_iis.c
Added: jk/native2/server/isapi isapi.def
Log:
* Adding a def file
* Delete references to apr from dsp
* Compiles cleanly
* added registry config server_root
* deleted registry configs related to log, they are now on wk2.p
* Some debug statements, dll doesnt load in my iis :( testers welcomed..
* XXX : Probably we doesnt need registry settings related to uri_decode, we can set this info in wk2.p and dig then from config..
Revision Changes Path
1.4 +3 -10 jakarta-tomcat-connectors/jk/native2/server/isapi/isapi.dsp
Index: isapi.dsp
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/isapi/isapi.dsp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- isapi.dsp 19 Apr 2002 23:08:53 -0000 1.3
+++ isapi.dsp 20 Apr 2002 03:06:18 -0000 1.4
@@ -73,13 +73,14 @@
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0xc0a /d "_DEBUG"
-# ADD RSC /l 0xc0a /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 libapr.lib libaprutil.lib kernel32.lib user32.lib advapi32.lib wsock32.lib /nologo /dll /debug /machine:I386 /out:"e:\tomcat\jakarta-tomcat\build\tomcat\bin\native\isapi_redirector2.dll" /pdbtype:sept /libpath:"$(APACHE20_HOME)\Release" /libpath:"$(APR_HOME)\apr\Release" /libpath:"$(APR_HOME)\apr-util\Release"
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib wsock32.lib /nologo /dll /debug /machine:I386 /out:"e:\tomcat\jakarta-tomcat\build\tomcat\bin\native\isapi_redirector2.dll" /pdbtype:sept /libpath:"$(APACHE20_HOME)\Release" /libpath:"$(APR_HOME)\apr\Release" /libpath:"$(APR_HOME)\apr-util\Release"
+# SUBTRACT LINK32 /nodefaultlib
!ENDIF
@@ -92,10 +93,6 @@
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
-SOURCE=..\..\common\jk_channel_apr_socket.c
-# End Source File
-# Begin Source File
-
SOURCE=..\..\common\jk_channel_socket.c
# End Source File
# Begin Source File
@@ -145,10 +142,6 @@
# Begin Source File
SOURCE=..\..\common\jk_pool.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\jk_pool_apr.c
# End Source File
# Begin Source File
1.6 +8 -2 jakarta-tomcat-connectors/jk/native2/server/isapi/jk_iis.h
Index: jk_iis.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/isapi/jk_iis.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- jk_iis.h 19 Apr 2002 23:08:53 -0000 1.5
+++ jk_iis.h 20 Apr 2002 03:06:18 -0000 1.6
@@ -106,7 +106,7 @@
#define MAX_SERVERNAME 128
-#define GET_SERVER_VARIABLE_VALUE(name, place) { \
+#define GET_SERVER_VARIABLE_VALUE(pool, name, place) { \
(place) = NULL; \
huge_buf_sz = sizeof(huge_buf); \
if (get_server_value(env, \
@@ -115,7 +115,7 @@
huge_buf, \
huge_buf_sz, \
"")) { \
- (place) = w->pool->pstrdup(env,w->pool,huge_buf); \
+ (place) = (pool)->pstrdup(env,(pool),huge_buf); \
} \
}\
@@ -151,6 +151,12 @@
struct jk_worker *w, void *serverObj );
int jk2_service_iis_init(jk_env_t *env, jk_ws_service_t *s);
+
+int get_server_value(struct jk_env *env, LPEXTENSION_CONTROL_BLOCK lpEcb,
+ char *name,
+ char *buf,
+ DWORD bufsz,
+ char *def_val);
#ifdef __cplusplus
}
1.7 +72 -90 jakarta-tomcat-connectors/jk/native2/server/isapi/jk_isapi_plugin.c
Index: jk_isapi_plugin.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/isapi/jk_isapi_plugin.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- jk_isapi_plugin.c 19 Apr 2002 23:08:53 -0000 1.6
+++ jk_isapi_plugin.c 20 Apr 2002 03:06:18 -0000 1.7
@@ -60,7 +60,7 @@
* Author: Gal Shachor <sh...@il.ibm.com> *
* Author: Larry Isaacs <la...@apache.org> *
* Author: Ignacio J. Ortega <na...@apache.org> *
- * Version: $Revision: 1.6 $ *
+ * Version: $Revision: 1.7 $ *
***************************************************************************/
// This define is needed to include wincrypt,h, needed to get client certificates
@@ -82,9 +82,10 @@
#include "jk_iis.h"
//#include "jk_uri_worker_map.h"
-#define EXTENSION_URI_TAG ("extension_uri")
+#define WORKERS_FILE_TAG ("worker_file")
#define SERVER_ROOT_TAG ("server_root")
#define URI_SELECT_TAG ("uri_select")
+#define EXTENSION_URI_TAG ("extension_uri")
#define URI_SELECT_PARSED_VERB ("parsed")
#define URI_SELECT_UNPARSED_VERB ("unparsed")
@@ -101,11 +102,11 @@
static char extension_uri[INTERNET_MAX_URL_LENGTH] = "/jakarta/isapi_redirector2.dll";
-static char log_file[MAX_PATH * 2];
-static int log_level = JK_LOG_EMERG_LEVEL;
-//static char worker_file[MAX_PATH * 2];
+static char worker_file[MAX_PATH * 2];
static char server_root[MAX_PATH * 2];
-//static char worker_mount_file[MAX_PATH * 2];
+
+FILE *fLog;
+
#define URI_SELECT_OPT_PARSED 0
#define URI_SELECT_OPT_UNPARSED 1
@@ -126,15 +127,10 @@
DWORD sz);
-static int get_server_value(LPEXTENSION_CONTROL_BLOCK lpEcb,
- char *name,
- char *buf,
- DWORD bufsz,
- char *def_val);
-
static jk_env_t* jk2_create_config();
+
static void write_error_response(PHTTP_FILTER_CONTEXT pfc,char *status,char * msg)
{
char crlf[3] = { (char)13, (char)10, '\0' };
@@ -160,6 +156,7 @@
{
ULONG http_filter_revision = HTTP_FILTER_REVISION;
+
pVer->dwFilterVersion = pVer->dwServerFilterVersion;
if (pVer->dwFilterVersion > http_filter_revision) {
@@ -175,9 +172,11 @@
strcpy(pVer->lpszFilterDesc, VERSION_STRING);
if (!is_inited) {
+ fprintf(fLog,"GetFilterVersion::!is_inited\n");
return initialize_extension();
}
+ fprintf(fLog,"GetFilterVersion::Return TRUE\n");
return TRUE;
}
@@ -440,48 +439,54 @@
}
if (is_inited) {
- jk_ws_service_t sOnStack;
- jk_ws_service_t *s=&sOnStack;
+ jk_ws_service_t sOnStack;
+ jk_ws_service_t *s=&sOnStack;
+ char *worker_name;
+ char huge_buf[16 * 1024]; /* should be enough for all */
+ DWORD huge_buf_sz;
- jk_worker_t *worker=workerEnv->defaultWorker;
- jk_pool_t *rPool=NULL;
- int rc1;
-
- /* Get a pool for the request XXX move it in workerEnv to
- be shared with other server adapters */
- rPool= worker->rPoolCache->get( env, worker->rPoolCache );
- if( rPool == NULL ) {
- rPool=worker->pool->create( env, worker->pool, HUGE_POOL_SIZE );
- env->l->jkLog(env, env->l, JK_LOG_INFO,
- "mod_jk.handler(): new rpool\n");
- }
+
+ jk_worker_t *worker;
+ jk_pool_t *rPool=NULL;
+ int rc1;
+
+ GET_SERVER_VARIABLE_VALUE(workerEnv->pool,HTTP_WORKER_HEADER_NAME, ( worker_name ));
+ worker=workerEnv->worker_map->get(env,workerEnv->worker_map,worker_name);
+ /* Get a pool for the request XXX move it in workerEnv to
+ be shared with other server adapters */
+ rPool= worker->rPoolCache->get( env, worker->rPoolCache );
+ if( rPool == NULL ) {
+ rPool=worker->pool->create( env, worker->pool, HUGE_POOL_SIZE );
+ env->l->jkLog(env, env->l, JK_LOG_INFO,
+ "mod_jk.handler(): new rpool\n");
+ }
+
+ jk2_service_iis_init( env, s );
+ s->pool = rPool;
+ s->is_recoverable_error = JK_FALSE;
+ s->response_started = JK_FALSE;
+ s->content_read = 0;
+ s->ws_private = lpEcb;
- jk2_service_iis_init( env, s );
- s->pool = rPool;
- s->is_recoverable_error = JK_FALSE;
- s->response_started = JK_FALSE;
- s->content_read = 0;
- s->ws_private = lpEcb;
-
- /* Initialize the ws_service structure */
- s->init( env, s, worker, lpEcb );
-
- /* env->l->jkLog(env, env->l, JK_LOG_DEBUG,
- "HttpExtensionProc %s a worker for name %s\n",
- worker ? "got" : "could not get",
- worker_name);
- */
- rc = worker->service(env, worker, s);
-
- s->afterRequest(env, s);
-
- rPool->reset(env, rPool);
-
- rc1=worker->rPoolCache->put( env, worker->rPoolCache, rPool );
-
- lpEcb->dwHttpStatusCode = HTTP_STATUS_OK;
- env->l->jkLog(env, env->l, JK_LOG_DEBUG,
- "HttpExtensionProc service() returned OK\n");
+ /* Initialize the ws_service structure */
+ s->init( env, s, worker, lpEcb );
+
+ /* env->l->jkLog(env, env->l, JK_LOG_DEBUG,
+ "HttpExtensionProc %s a worker for name %s\n",
+ worker ? "got" : "could not get",
+ worker_name);
+ */
+ rc = worker->service(env, worker, s);
+
+ s->afterRequest(env, s);
+
+ rPool->reset(env, rPool);
+
+ rc1=worker->rPoolCache->put( env, worker->rPoolCache, rPool );
+
+ lpEcb->dwHttpStatusCode = HTTP_STATUS_OK;
+ env->l->jkLog(env, env->l, JK_LOG_DEBUG,
+ "HttpExtensionProc service() returned OK\n");
} else {
env->l->jkLog(env, env->l, JK_LOG_ERROR,
"HttpExtensionProc error, not initialized\n");
@@ -513,11 +518,14 @@
ULONG ulReason, // Reason why NT called this DLL
LPVOID lpReserved) // Reserved parameter for future use
{
- BOOL fReturn = TRUE;
+ BOOL fReturn = TRUE;
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char file_name[_MAX_PATH];
+
+ fLog=fopen("c:\\isapi.log","a");
+ fprintf(fLog,"DllMain::ulReason=%d\n",ulReason);
switch (ulReason) {
case DLL_PROCESS_DETACH:
@@ -536,7 +544,8 @@
} else {
fReturn = JK_FALSE;
}
-
+ fprintf(fLog,"DllMain::fReturn=%d\n",fReturn);
+ fclose(fLog);
return fReturn;
}
@@ -553,21 +562,22 @@
} else {
env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using registry.\n");
}
- env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using log file %s.\n", log_file);
- env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using log level %d.\n", log_level);
+ //env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using log file %s.\n", log_file);
+ //env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using log level %d.\n", log_level);
env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using extension uri %s.\n", extension_uri);
env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using server root %s.\n", server_root);
-// env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using worker mount file %s.\n", worker_mount_file);
+ env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using worker file %s.\n", worker_file);
env->l->jkLog(env, env->l, JK_LOG_DEBUG, "Using uri select %d.\n", uri_select_option);
return rc;
}
static int initialize_extension(void)
{
-
+ fprintf(fLog,"initialize_extension::is_inited=%d\n",is_inited);
if (read_registry_init_data()) {
is_inited = JK_TRUE;
}
+ fprintf(fLog,"initialize_extension::is_inited=%d\n",is_inited);
return is_inited;
}
@@ -593,11 +603,11 @@
char tmpbuf[INTERNET_MAX_URL_LENGTH];
HKEY hkey;
long rc;
- int ok = JK_TRUE;
+ int ok = JK_TRUE;
+/*
char *tmp;
jk_map_t *map;
-/*
if (map_alloc(&map)) {
if (map_read_properties(map, ini_file_name)) {
using_ini_file = JK_TRUE;
@@ -638,7 +648,7 @@
}
}
- } else */ {
+ } else */{
rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
REGISTRY_LOCATION,
(DWORD)0,
@@ -649,24 +659,6 @@
}
if(get_registry_config_parameter(hkey,
- JK_LOG_FILE_TAG,
- tmpbuf,
- sizeof(log_file))) {
- strcpy(log_file, tmpbuf);
- } else {
- ok = JK_FALSE;
- }
-
- if(get_registry_config_parameter(hkey,
- JK_LOG_LEVEL_TAG,
- tmpbuf,
- sizeof(tmpbuf))) {
- log_level = jk2_logger_file_parseLogLevel(tmpbuf);
- } else {
- ok = JK_FALSE;
- }
-
- if(get_registry_config_parameter(hkey,
EXTENSION_URI_TAG,
tmpbuf,
sizeof(extension_uri))) {
@@ -683,7 +675,6 @@
} else {
ok = JK_FALSE;
}
-/*
if(get_registry_config_parameter(hkey,
JK_WORKER_FILE_TAG,
tmpbuf,
@@ -694,15 +685,6 @@
}
if(get_registry_config_parameter(hkey,
- JK_MOUNT_FILE_TAG,
- tmpbuf,
- sizeof(worker_mount_file))) {
- strcpy(worker_mount_file, tmpbuf);
- } else {
- ok = JK_FALSE;
- }
-*/
- if(get_registry_config_parameter(hkey,
URI_SELECT_TAG,
tmpbuf,
sizeof(tmpbuf))) {
@@ -715,7 +697,7 @@
}
RegCloseKey(hkey);
- }
+ }
return ok;
}
1.9 +12 -14 jakarta-tomcat-connectors/jk/native2/server/isapi/jk_service_iis.c
Index: jk_service_iis.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/isapi/jk_service_iis.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- jk_service_iis.c 19 Apr 2002 23:08:53 -0000 1.8
+++ jk_service_iis.c 20 Apr 2002 03:06:18 -0000 1.9
@@ -256,7 +256,7 @@
return JK_FALSE;
}
-static int get_server_value(struct jk_env *env, LPEXTENSION_CONTROL_BLOCK lpEcb,
+int get_server_value(struct jk_env *env, LPEXTENSION_CONTROL_BLOCK lpEcb,
char *name,
char *buf,
DWORD bufsz,
@@ -285,34 +285,32 @@
/* */
{
LPEXTENSION_CONTROL_BLOCK lpEcb=(LPEXTENSION_CONTROL_BLOCK)serverObj;
- char *worker_name;
char huge_buf[16 * 1024]; /* should be enough for all */
DWORD huge_buf_sz;
s->jvm_route = NULL;
- GET_SERVER_VARIABLE_VALUE(HTTP_WORKER_HEADER_NAME, ( worker_name ));
- GET_SERVER_VARIABLE_VALUE(HTTP_URI_HEADER_NAME, s->req_uri);
- GET_SERVER_VARIABLE_VALUE(HTTP_QUERY_HEADER_NAME, s->query_string);
+ GET_SERVER_VARIABLE_VALUE(w->pool,HTTP_URI_HEADER_NAME, s->req_uri);
+ GET_SERVER_VARIABLE_VALUE(w->pool,HTTP_QUERY_HEADER_NAME, s->query_string);
if (s->req_uri == NULL) {
s->query_string = lpEcb->lpszQueryString;
/* *worker_name = DEFAULT_WORKER_NAME; */
- GET_SERVER_VARIABLE_VALUE("URL", s->req_uri);
+ GET_SERVER_VARIABLE_VALUE(w->pool,"URL", s->req_uri);
if (jk_requtil_unescapeUrl(s->req_uri) < 0)
return JK_FALSE;
jk_requtil_getParents(s->req_uri);
}
- GET_SERVER_VARIABLE_VALUE("AUTH_TYPE", s->auth_type);
- GET_SERVER_VARIABLE_VALUE("REMOTE_USER", s->remote_user);
- GET_SERVER_VARIABLE_VALUE("SERVER_PROTOCOL", s->protocol);
- GET_SERVER_VARIABLE_VALUE("REMOTE_HOST", s->remote_host);
- GET_SERVER_VARIABLE_VALUE("REMOTE_ADDR", s->remote_addr);
- GET_SERVER_VARIABLE_VALUE(SERVER_NAME, s->server_name);
+ GET_SERVER_VARIABLE_VALUE(w->pool,"AUTH_TYPE", s->auth_type);
+ GET_SERVER_VARIABLE_VALUE(w->pool,"REMOTE_USER", s->remote_user);
+ GET_SERVER_VARIABLE_VALUE(w->pool,"SERVER_PROTOCOL", s->protocol);
+ GET_SERVER_VARIABLE_VALUE(w->pool,"REMOTE_HOST", s->remote_host);
+ GET_SERVER_VARIABLE_VALUE(w->pool,"REMOTE_ADDR", s->remote_addr);
+ GET_SERVER_VARIABLE_VALUE(w->pool,SERVER_NAME, s->server_name);
GET_SERVER_VARIABLE_VALUE_INT("SERVER_PORT", s->server_port, 80);
- GET_SERVER_VARIABLE_VALUE(SERVER_SOFTWARE, s->server_software);
+ GET_SERVER_VARIABLE_VALUE(w->pool,SERVER_SOFTWARE, s->server_software);
GET_SERVER_VARIABLE_VALUE_INT("SERVER_PORT_SECURE", s->is_ssl, 0);
s->method = lpEcb->lpszMethod;
@@ -358,7 +356,7 @@
unsigned num_of_vars = 0;
for(i = 0 ; i < 9 ; i++) {
- GET_SERVER_VARIABLE_VALUE(ssl_env_names[i], ssl_env_values[i]);
+ GET_SERVER_VARIABLE_VALUE(w->pool,ssl_env_names[i], ssl_env_values[i]);
if (ssl_env_values[i]) {
num_of_vars++;
}
1.1 jakarta-tomcat-connectors/jk/native2/server/isapi/isapi.def
Index: isapi.def
===================================================================
LIBRARY "isapi_redirector2"
EXPORTS
HttpFilterProc
GetFilterVersion
GetExtensionVersion
HttpExtensionProc
TerminateFilter
TerminateExtension
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>