You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mt...@apache.org on 2004/10/08 12:37:12 UTC
cvs commit: jakarta-tomcat-connectors/jk/native/iis jk_isapi_plugin.c
mturk 2004/10/08 03:37:12
Modified: jk/native/iis jk_isapi_plugin.c
Log:
Remove computing properties file on each dll event.
Fix reporting error page to client, and few compile time warnigs.
Revision Changes Path
1.25 +43 -38 jakarta-tomcat-connectors/jk/native/iis/jk_isapi_plugin.c
Index: jk_isapi_plugin.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/iis/jk_isapi_plugin.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- jk_isapi_plugin.c 8 Oct 2004 08:55:13 -0000 1.24
+++ jk_isapi_plugin.c 8 Oct 2004 10:37:12 -0000 1.25
@@ -71,6 +71,7 @@
#define BAD_PATH -2
#define MAX_SERVERNAME 128
+#define JK_TOLOWER(x) ((char)tolower((unsigned char)(x)))
#define GET_SERVER_VARIABLE_VALUE(name, place) \
do { \
@@ -128,7 +129,8 @@
static jk_worker_env_t worker_env;
-struct isapi_private_data
+typedef struct isapi_private_data_t isapi_private_data_t;
+struct isapi_private_data_t
{
jk_pool_t p;
@@ -136,7 +138,6 @@
unsigned bytes_read_so_far;
LPEXTENSION_CONTROL_BLOCK lpEcb;
};
-typedef struct isapi_private_data isapi_private_data_t;
static int JK_METHOD start_response(jk_ws_service_t *s,
@@ -171,7 +172,7 @@
static int base64_encode_cert_len(int len);
static int base64_encode_cert(char *encoded,
- const unsigned char *string, int len);
+ const char *string, int len);
static char x2c(const char *what)
@@ -256,8 +257,10 @@
else
l = 0;
n = l;
- while ((name[n] = name[m]))
- (++n, ++m);
+ while ((name[n] = name[m])) {
+ n++;
+ m++;
+ }
}
else
++l;
@@ -319,20 +322,19 @@
{
const unsigned char *s = (const unsigned char *)path;
unsigned char *d = (unsigned char *)dest;
- unsigned char *e = dest + destsize - 1;
- unsigned char *ee = dest + destsize - 3;
- unsigned c;
+ unsigned char *e = d + destsize - 1;
+ unsigned char *ee = d + destsize - 3;
- while ((c = *s)) {
- if (TEST_CHAR(c, T_OS_ESCAPE_PATH)) {
+ while (*s) {
+ if (TEST_CHAR(*s, T_OS_ESCAPE_PATH)) {
if (d >= ee)
return JK_FALSE;
- d = c2x(c, d);
+ d = c2x(*s, d);
}
else {
if (d >= e)
return JK_FALSE;
- *d++ = c;
+ *d++ = *s;
}
++s;
}
@@ -344,7 +346,7 @@
{
char *c = uri;
while (*c) {
- *c = tolower(*c);
+ *c = JK_TOLOWER(*c);
c++;
}
if (strstr(uri, "web-inf")) {
@@ -360,17 +362,16 @@
static void write_error_response(PHTTP_FILTER_CONTEXT pfc, char *status,
char *msg)
{
- char crlf[3] = { (char)13, (char)10, '\0' };
char ctype[30];
- DWORD len = strlen(msg);
+ size_t len = strlen(msg);
- sprintf(ctype, "Content-Type:text/html%s%s", crlf, crlf);
+ strcpy(ctype, "Content-Type:text/html\r\n\r\n");
/* reject !!! */
pfc->ServerSupportFunction(pfc,
SF_REQ_SEND_RESPONSE_HEADER,
- status, (DWORD) crlf, (DWORD) ctype);
- pfc->WriteClient(pfc, msg, &len, 0);
+ status, (DWORD) &ctype[0], 0);
+ pfc->WriteClient(pfc, msg, (LPDWORD)&len, 0);
}
@@ -395,7 +396,7 @@
if (s && s->ws_private) {
isapi_private_data_t *p = s->ws_private;
if (!p->request_started) {
- DWORD len_of_status;
+ size_t len_of_status;
char *status_str;
char *headers_str;
@@ -415,8 +416,7 @@
* Create response headers string
*/
if (num_of_headers) {
- unsigned i;
- unsigned len_of_headers;
+ size_t i, len_of_headers;
for (i = 0, len_of_headers = 0; i < num_of_headers; i++) {
len_of_headers += strlen(header_names[i]);
len_of_headers += strlen(header_values[i]);
@@ -442,7 +442,7 @@
if (!p->lpEcb->ServerSupportFunction(p->lpEcb->ConnID,
HSE_REQ_SEND_RESPONSE_HEADER,
status_str,
- (LPDWORD) & len_of_status,
+ (LPDWORD) &len_of_status,
(LPDWORD) headers_str)) {
jk_log(logger, JK_LOG_ERROR,
"jk_ws_service_t::start_response, ServerSupportFunction failed\n");
@@ -496,7 +496,7 @@
/*
* Now try to read from the client ...
*/
- if (p->lpEcb->ReadClient(p->lpEcb->ConnID, buf, &l)) {
+ if (p->lpEcb->ReadClient(p->lpEcb->ConnID, buf, (LPDWORD)&l)) {
*a += l;
}
else {
@@ -926,6 +926,8 @@
BOOL WINAPI TerminateFilter(DWORD dwFlags)
{
+ UNREFERENCED_PARAMETER(dwFlags);
+
if (is_inited) {
is_inited = JK_FALSE;
@@ -953,7 +955,18 @@
char fname[_MAX_FNAME];
char file_name[_MAX_PATH];
+ UNREFERENCED_PARAMETER(lpReserved);
+
switch (ulReason) {
+ case DLL_PROCESS_ATTACH:
+ if (GetModuleFileName(hInst, file_name, sizeof(file_name))) {
+ _splitpath(file_name, drive, dir, fname, NULL);
+ _makepath(ini_file_name, drive, dir, fname, ".properties");
+ }
+ else {
+ fReturn = JK_FALSE;
+ }
+ break;
case DLL_PROCESS_DETACH:
__try {
TerminateFilter(HSE_TERM_MUST_UNLOAD);
@@ -965,13 +978,6 @@
default:
break;
}
- if (GetModuleFileName(hInst, file_name, sizeof(file_name))) {
- _splitpath(file_name, drive, dir, fname, NULL);
- _makepath(ini_file_name, drive, dir, fname, ".properties");
- }
- else {
- fReturn = JK_FALSE;
- }
return fReturn;
}
@@ -1340,7 +1346,6 @@
s->num_attributes = num_of_vars;
if (ssl_env_values[4] && ssl_env_values[4][0] == '1') {
CERT_CONTEXT_EX cc;
- DWORD cc_sz = sizeof(cc);
cc.cbAllocated = sizeof(huge_buf);
cc.CertContext.pbCertEncoded = (BYTE *) huge_buf;
cc.CertContext.cbCertEncoded = 0;
@@ -1385,7 +1390,7 @@
if (cnt) {
char *headers_buf = jk_pool_strdup(&private_data->p, huge_buf);
unsigned i;
- unsigned len_of_http_prefix = strlen("HTTP_");
+ size_t len_of_http_prefix = strlen("HTTP_");
BOOL need_content_length_header = (s->content_length == 0);
cnt -= 2; /* For our two special headers */
@@ -1430,7 +1435,7 @@
*tmp = '-';
}
else {
- *tmp = tolower(*tmp);
+ *tmp = JK_TOLOWER(*tmp);
}
tmp++;
}
@@ -1466,7 +1471,7 @@
* but non-zero length body.
*/
if (need_content_length_header) {
- s->headers_names[cnt] = "content-length";
+ s->headers_names[cnt] = "Content-Length";
s->headers_values[cnt] = "0";
cnt++;
}
@@ -1488,7 +1493,7 @@
char *name, char *buf, DWORD bufsz, char *def_val)
{
if (!lpEcb->GetServerVariable(lpEcb->ConnID,
- name, buf, (LPDWORD) & bufsz)) {
+ name, buf, (LPDWORD) &bufsz)) {
strcpy(buf, def_val);
return JK_FALSE;
}
@@ -1516,7 +1521,7 @@
}
static int base64_encode_cert(char *encoded,
- const unsigned char *string, int len)
+ const char *string, int len)
{
int i, c;
char *p;
@@ -1567,5 +1572,5 @@
*p++ = *t++;
*p++ = '\0';
- return p - encoded;
+ return (int)(p - encoded);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org