Hi Christophe, Maybe I was not clear on my last mail. Sorry.
Christophe Boyanique wrote: > > > in icapReqModReadHttpBody function replacing the test > > if (icap->reqmod.http_entity.bytes_read >= icap->request->content_length) > > by > > if (icap->chunk_size < 0) OK this is needed. But in the same function replace the test: if (icap->reqmod.http_entity.callback && icap->reqmod.http_entity.buf.size) { icapReqModPassHttpBody(icap, icap->reqmod.http_entity.callback_buf, icap->reqmod.http_entity.callback_bufsize, with: if (icap->reqmod.http_entity.callback) { icapReqModPassHttpBody(icap, icap->reqmod.http_entity.callback_buf, icap->reqmod.http_entity.callback_bufsize, Did you try it? > > which correct the initial problem ie not reading the 0\r\n marking thee > end of the chunk. > > The new problem is that squid correctly reads the end of the chunk but > dies immediatly. > I think with the previous change the problem must be solved. > ......................... > 2006/12/01 18:18:19| icap_reqmod.c:903 http_entity.callback_bufsize = 8192 > 2006/12/01 18:18:19| icap_reqmod.c:917 icapReqModReadHttpBody: end of > function > > and we exit the icapReqModReadHttpBody function without calling > icapReqModPassHttpBody because http_entity.buf.size is 0. > With the previous change this function must called here..... Did you make this change? Are you still seeing segfaults? In my tests I am not seeing any problem any more. But maybe I am losing something.... Regards, Christos