Hi Joe, Appreciate the response. thanks This is similar to what someone else told me too (that it may be a non-null terminated string issue). The point is how can I debug it further.I currently am printing all the character portions of the request rec including the headers_out and err_headers_out to log using fprintf statements to stderr. I think I tried breifly with ap_log_rerror too... Will try again, but the basic redirection string seems to be getting properly from what I can see visually in the logs. Is there any way to force null termination of these strings or of say all parameters in the request rec. The other thing is that this occurs mainly after restart and works on in say 5-10 attempts but once it works once, it seems to work everytime which is probably in line with your diagnosis too ...
----- Original Message ----- From: Joe Lewis <modules-dev@httpd.apache.org> To: modules-dev@httpd.apache.org At: 12/10 9:16:12 SAILESH KRISHNAMURTI, BLOOMBERG/ 731 LEXIN wrote: > Hi, i have an authentication module that i am trying to port from 64 bit > linux to 32 bit solaris. The problem is that when the module redirects the > request to the authentication page, the URL seems to be getting corrupted when > it is passed betwen the module and apache core. > For > E.G; Within the module request_rec->headers_out is /loginPage/Somelogin.cgi > apache seems to actually redirect to:\xfb\xab\x98\xb0Page/Somelogin.cgi > i dont know why this is getting corrupted. Tried logging various parts of the > request_rec but didnt find anything. Does anyone have any ideas? > An idea : A variable in the same pool memory was written to that is too big, overwriting data. I encountered this most often using strings that were not NULL terminated as normal C programs expected. I would typically place a couple of ap_log_rerror statements, printing the table entry for headers_out that you are expecting. Once you narrow it down, take a close look at the code that is used, and you should find your specific problem. (If you have forced a size value in the conversion from 32 bit to 64 bit, you may be overwriting a subsequent string that you are trying to copy in). Joe -- Joseph Lewis <http://sharktooth.org/> "Divide the fire, and you will sooner put it out." - Publius Syrus