mturk 2004/11/12 03:56:18 Modified: jk/native/iis jk_isapi_plugin.c Log: Use new trace macros and native types where possible. Clean up log messages. Revision Changes Path 1.28 +67 -64 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.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- jk_isapi_plugin.c 9 Nov 2004 12:17:44 -0000 1.27 +++ jk_isapi_plugin.c 12 Nov 2004 11:56:18 -0000 1.28 @@ -19,7 +19,8 @@ * Author: Gal Shachor <[EMAIL PROTECTED]> * * Author: Larry Isaacs <[EMAIL PROTECTED]> * * Author: Ignacio J. Ortega <[EMAIL PROTECTED]> * - * Version: $Revision$ * + * Author: Mladen Turk <[EMAIL PROTECTED]> * + * Version: $Revision$ * ***************************************************************************/ // This define is needed to include wincrypt,h, needed to get client certificates @@ -71,7 +72,7 @@ #define BAD_PATH -2 #define MAX_SERVERNAME 128 -#define JK_TOLOWER(x) ((char)tolower((unsigned char)(x))) +#define JK_TOLOWER(x) ((char)tolower((BYTE)(x))) #define GET_SERVER_VARIABLE_VALUE(name, place) \ do { \ @@ -112,7 +113,7 @@ static jk_logger_t *logger = NULL; static char *SERVER_NAME = "SERVER_NAME"; static char *SERVER_SOFTWARE = "SERVER_SOFTWARE"; - +static char *CONTENT_TYPE = "Content-Type:text/html\r\n\r\n"; static char extension_uri[INTERNET_MAX_URL_LENGTH] = "/jakarta/isapi_redirect.dll"; @@ -135,7 +136,7 @@ jk_pool_t p; int request_started; - unsigned bytes_read_so_far; + unsigned int bytes_read_so_far; LPEXTENSION_CONTROL_BLOCK lpEcb; }; @@ -145,12 +146,12 @@ const char *reason, const char *const *header_names, const char *const *header_values, - unsigned num_of_headers); + unsigned int num_of_headers); static int JK_METHOD read(jk_ws_service_t *s, - void *b, unsigned l, unsigned *a); + void *b, unsigned int l, unsigned int *a); -static int JK_METHOD write(jk_ws_service_t *s, const void *b, unsigned l); +static int JK_METHOD write(jk_ws_service_t *s, const void *b, unsigned int l); static int init_ws_service(isapi_private_data_t * private_data, jk_ws_service_t *s, char **worker_name); @@ -257,7 +258,7 @@ else l = 0; n = l; - while ((name[n] = name[m])) { + while ((name[n] = name[m]) != '\0') { n++; m++; } @@ -287,7 +288,7 @@ #define T_OS_ESCAPE_PATH (4) -static const unsigned char test_char_table[256] = { +static const BYTE test_char_table[256] = { 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 7, 6, 1, 6, 1, 1, 9, 9, 1, 0, 8, 0, 0, 10, @@ -306,11 +307,11 @@ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }; -#define TEST_CHAR(c, f) (test_char_table[(unsigned)(c)] & (f)) +#define TEST_CHAR(c, f) (test_char_table[(unsigned int)(c)] & (f)) static const char c2x_table[] = "0123456789abcdef"; -static unsigned char *c2x(unsigned what, unsigned char *where) +static BYTE *c2x(unsigned int what, BYTE *where) { *where++ = '%'; *where++ = c2x_table[what >> 4]; @@ -320,10 +321,10 @@ static int escape_url(const char *path, char *dest, int destsize) { - const unsigned char *s = (const unsigned char *)path; - unsigned char *d = (unsigned char *)dest; - unsigned char *e = d + destsize - 1; - unsigned char *ee = d + destsize - 3; + const BYTE *s = (const BYTE *)path; + BYTE *d = (BYTE *)dest; + BYTE *e = d + destsize - 1; + BYTE *ee = d + destsize - 3; while (*s) { if (TEST_CHAR(*s, T_OS_ESCAPE_PATH)) { @@ -362,15 +363,12 @@ static void write_error_response(PHTTP_FILTER_CONTEXT pfc, char *status, char *msg) { - char ctype[30]; size_t len = strlen(msg); - strcpy(ctype, "Content-Type:text/html\r\n\r\n"); - /* reject !!! */ pfc->ServerSupportFunction(pfc, SF_REQ_SEND_RESPONSE_HEADER, - status, (DWORD) &ctype[0], 0); + status, (DWORD) &CONTENT_TYPE, 0); pfc->WriteClient(pfc, msg, (LPDWORD)&len, 0); } @@ -380,16 +378,16 @@ const char *reason, const char *const *header_names, const char *const *header_values, - unsigned num_of_headers) + unsigned int num_of_headers) { static char crlf[3] = { (char)13, (char)10, '\0' }; - jk_log(logger, JK_LOG_DEBUG, "Into jk_ws_service_t::start_response\n"); - + JK_TRACE_ENTER(logger); if (status < 100 || status > 1000) { jk_log(logger, JK_LOG_ERROR, - "jk_ws_service_t::start_response, invalid status %d\n", + "invalid status %d\n", status); + JK_TRACE_EXIT(logger); return JK_FALSE; } @@ -445,26 +443,25 @@ (LPDWORD) &len_of_status, (LPDWORD) headers_str)) { jk_log(logger, JK_LOG_ERROR, - "jk_ws_service_t::start_response, ServerSupportFunction failed\n"); + "HSE_REQ_SEND_RESPONSE_HEADER failed\n"); + JK_TRACE_EXIT(logger); return JK_FALSE; } - - } + JK_TRACE_EXIT(logger); return JK_TRUE; } - jk_log(logger, JK_LOG_ERROR, - "jk_ws_service_t::start_response, NULL parameters\n"); - + JK_LOG_NULL_PARAMS(logger); + JK_TRACE_EXIT(logger); return JK_FALSE; } static int JK_METHOD read(jk_ws_service_t *s, - void *b, unsigned l, unsigned *a) + void *b, unsigned int l, unsigned int *a) { - jk_log(logger, JK_LOG_DEBUG, "Into jk_ws_service_t::read\n"); + JK_TRACE_ENTER(logger); if (s && s->ws_private && b && a) { isapi_private_data_t *p = s->ws_private; @@ -501,19 +498,22 @@ } else { jk_log(logger, JK_LOG_ERROR, - "jk_ws_service_t::read, ReadClient failed\n"); + "ReadClient failed with %08x\n", GetLastError()); + JK_TRACE_EXIT(logger); return JK_FALSE; } } } + JK_TRACE_EXIT(logger); return JK_TRUE; } - jk_log(logger, JK_LOG_ERROR, "jk_ws_service_t::read, NULL parameters\n"); + JK_LOG_NULL_PARAMS(logger); + JK_TRACE_EXIT(logger); return JK_FALSE; } -static int JK_METHOD write(jk_ws_service_t *s, const void *b, unsigned l) +static int JK_METHOD write(jk_ws_service_t *s, const void *b, unsigned int l) { jk_log(logger, JK_LOG_DEBUG, "Into jk_ws_service_t::write\n"); @@ -521,7 +521,7 @@ isapi_private_data_t *p = s->ws_private; if (l) { - unsigned written = 0; + unsigned int written = 0; char *buf = (char *)b; if (!p->request_started) { @@ -533,19 +533,21 @@ if (!p->lpEcb->WriteClient(p->lpEcb->ConnID, buf + written, &try_to_write, 0)) { jk_log(logger, JK_LOG_ERROR, - "jk_ws_service_t::write, WriteClient failed\n"); + "WriteClient failed with %08x\n", GetLastError()); + JK_TRACE_EXIT(logger); return JK_FALSE; } written += try_to_write; } } + JK_TRACE_EXIT(logger); return JK_TRUE; } - jk_log(logger, JK_LOG_ERROR, "jk_ws_service_t::write, NULL parameters\n"); - + JK_LOG_NULL_PARAMS(logger); + JK_TRACE_EXIT(logger); return JK_FALSE; } @@ -652,7 +654,7 @@ } - jk_log(logger, JK_LOG_DEBUG, "HttpFilterProc started\n"); + jk_log(logger, JK_LOG_DEBUG, "Filter started\n"); /* @@ -665,7 +667,7 @@ if (!GetHeader(pfc, "url", (LPVOID) uri, (LPDWORD) & sz)) { jk_log(logger, JK_LOG_ERROR, - "HttpFilterProc error while getting the url\n"); + "error while getting the url\n"); return SF_STATUS_REQ_ERROR; } @@ -680,7 +682,7 @@ rc = unescape_url(uri); if (rc == BAD_REQUEST) { jk_log(logger, JK_LOG_ERROR, - "HttpFilterProc [%s] contains one or more invalid escape sequences.\n", + "[%s] contains one or more invalid escape sequences.\n", uri); write_error_response(pfc, "400 Bad Request", "<HTML><BODY><H1>Request contains invalid encoding</H1></BODY></HTML>"); @@ -688,7 +690,7 @@ } else if (rc == BAD_PATH) { jk_log(logger, JK_LOG_EMERG, - "HttpFilterProc [%s] contains forbidden escape sequences.\n", + "[%s] contains forbidden escape sequences.\n", uri); write_error_response(pfc, "403 Forbidden", "<HTML><BODY><H1>Access is Forbidden</H1></BODY></HTML>"); @@ -719,13 +721,13 @@ strcat(snuri, Host); strcat(snuri, uri); jk_log(logger, JK_LOG_DEBUG, - "In HttpFilterProc Virtual Host redirection of %s\n", + "Virtual Host redirection of %s\n", snuri); worker = map_uri_to_worker(uw_map, snuri, logger); } if (!worker) { jk_log(logger, JK_LOG_DEBUG, - "In HttpFilterProc test Default redirection of %s\n", + "Default redirection of %s\n", uri); worker = map_uri_to_worker(uw_map, uri, logger); } @@ -735,7 +737,7 @@ /* This is a servlet, should redirect ... */ jk_log(logger, JK_LOG_DEBUG, - "HttpFilterProc [%s] is a servlet url - should redirect to %s\n", + "[%s] is a servlet url - should redirect to %s\n", uri, worker); /* get URI we should forward */ @@ -746,21 +748,21 @@ if (query) *(query - 1) = '\0'; jk_log(logger, JK_LOG_DEBUG, - "HttpFilterProc fowarding original URI [%s]\n", + "fowarding original URI [%s]\n", uri); forwardURI = uri; } else if (uri_select_option == URI_SELECT_OPT_ESCAPED) { if (!escape_url(uri, snuri, INTERNET_MAX_URL_LENGTH)) { jk_log(logger, JK_LOG_ERROR, - "HttpFilterProc [%s] re-encoding request exceeds maximum buffer size.\n", + "[%s] re-encoding request exceeds maximum buffer size.\n", uri); write_error_response(pfc, "400 Bad Request", "<HTML><BODY><H1>Request contains too many characters that need to be encoded.</H1></BODY></HTML>"); return SF_STATUS_REQ_FINISHED; } jk_log(logger, JK_LOG_DEBUG, - "HttpFilterProc fowarding escaped URI [%s]\n", + "fowarding escaped URI [%s]\n", snuri); forwardURI = snuri; } @@ -774,7 +776,7 @@ !AddHeader(pfc, WORKER_HEADER_NAME, worker) || !SetHeader(pfc, "url", extension_uri)) { jk_log(logger, JK_LOG_ERROR, - "HttpFilterProc error while adding request headers\n"); + "error while adding request headers\n"); return SF_STATUS_REQ_ERROR; } @@ -789,7 +791,7 @@ if (!AddHeader (pfc, TOMCAT_TRANSLATE_HEADER_NAME, Translate)) { jk_log(logger, JK_LOG_ERROR, - "HttpFilterProc error while adding Tomcat-Translate headers\n"); + "error while adding Tomcat-Translate headers\n"); return SF_STATUS_REQ_ERROR; } SetHeader(pfc, "Translate:", NULL); @@ -797,7 +799,7 @@ } else { jk_log(logger, JK_LOG_DEBUG, - "HttpFilterProc [%s] is not a servlet url\n", uri); + "[%s] is not a servlet url\n", uri); } /* @@ -805,12 +807,12 @@ * We reject such postings ! */ jk_log(logger, JK_LOG_DEBUG, - "HttpFilterProc check if [%s] is points to the web-inf directory\n", + "check if [%s] is points to the web-inf directory\n", uri); if (uri_is_web_inf(uri)) { jk_log(logger, JK_LOG_EMERG, - "HttpFilterProc [%s] points to the web-inf or meta-inf directory.\nSomebody try to hack into the site!!!\n", + "[%s] points to the web-inf or meta-inf directory.\nSomebody try to hack into the site!!!\n", uri); write_error_response(pfc, "403 Forbidden", @@ -843,7 +845,7 @@ lpEcb->dwHttpStatusCode = HTTP_STATUS_SERVER_ERROR; - jk_log(logger, JK_LOG_DEBUG, "HttpExtensionProc started\n"); + JK_TRACE_ENTER(logger); /* Initialise jk */ if (is_inited && !is_mapread) { @@ -881,7 +883,7 @@ jk_worker_t *worker = wc_get_worker_for_name(worker_name, logger); jk_log(logger, JK_LOG_DEBUG, - "HttpExtensionProc %s a worker for name %s\n", + "%s a worker for name %s\n", worker ? "got" : "could not get", worker_name); if (worker) { @@ -892,18 +894,18 @@ rc = HSE_STATUS_SUCCESS; lpEcb->dwHttpStatusCode = HTTP_STATUS_OK; jk_log(logger, JK_LOG_DEBUG, - "HttpExtensionProc service() returned OK\n"); + "service() returned OK\n"); } else { jk_log(logger, JK_LOG_ERROR, - "HttpExtensionProc error, service() failed\n"); + "service() failed\n"); } e->done(&e, logger); } } else { jk_log(logger, JK_LOG_ERROR, - "HttpExtensionProc error, could not get a worker for name %s\n", + "could not get a worker for name %s\n", worker_name); } } @@ -911,9 +913,10 @@ } else { jk_log(logger, JK_LOG_ERROR, - "HttpExtensionProc error, not initialized\n"); + "not initialized\n"); } + JK_TRACE_EXIT(logger); return rc; } @@ -1318,8 +1321,8 @@ NULL, NULL }; - unsigned i; - unsigned num_of_vars = 0; + unsigned int i; + unsigned int num_of_vars = 0; for (i = 0; i < 9; i++) { GET_SERVER_VARIABLE_VALUE(ssl_env_names[i], ssl_env_values[i]); @@ -1328,7 +1331,7 @@ } } if (num_of_vars) { - unsigned j; + unsigned int j; s->attributes_names = jk_pool_alloc(&private_data->p, num_of_vars * sizeof(char *)); @@ -1378,7 +1381,7 @@ huge_buf_sz = sizeof(huge_buf); if (get_server_value(private_data->lpEcb, "ALL_HTTP", huge_buf, huge_buf_sz, "")) { - unsigned cnt = 0; + unsigned int cnt = 0; char *tmp; for (tmp = huge_buf; *tmp; tmp++) { @@ -1389,7 +1392,7 @@ if (cnt) { char *headers_buf = jk_pool_strdup(&private_data->p, huge_buf); - unsigned i; + unsigned int i; size_t len_of_http_prefix = strlen("HTTP_"); BOOL need_content_length_header = (s->content_length == 0);
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]