DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5647>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5647

AJP13 connector will not pass authentication requests





------- Additional Comments From [EMAIL PROTECTED]  2002-03-04 16:42 -------
We did a deep examination, and found that the source of this problem resides 
inside the IIS DLL code, file: jakarta-tomcat-
connectors/jk/native/isapi/jk_isapi_plugin.c :

1) The instance 's' of a structure jk_ws_service_t is inited with a call to: 
jk_init_ws_service(&s), where the member s.remote_user is set to NULL;
2) that instance is passed to InitService method, which contains this line:
  GETVARIABLE("REMOTE_HOST", &s->remote_host, "");
 The line simply sets the value of s->remote_host to empty string, instead of 
leaving its NULL. This method affects also other variables.
3) The AJP message is then filled with variables, that were not present in 
original request, but were substitited empty strings instead of NULLs
4) The AJP13 message parser (in Java), initializes all found variables with no 
value with empty arrays, resulting later in their conversion to empty Strings 
instead of null's. That later (in AJP13Request.java) results in empty Principal 
being set in HttpServletRequest.

Solutions: As may be observed in CVS for AJP13Request, the patch was applied to 
one version only, and has been removed in current version. So, either apply the 
patch again, or change jk_isapi_plugin.c such that it won't initialize server 
variables that are not present in original request (just remove the lines from 
InitService function).

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to