Hi Christophe, If you are still looking for the solution, try the following patch in icap_reqmod.c file. With this patch the icapReqModPassHttpBody function called if the icap->reqmod.http_entity.buf.size is zero, and at this phase can handle correctly, the case that the icap->flags.reqmod_http_entity_eof==1.
@@ -877,7 +876,7 @@ icapParseChunkedBody(icap, icapReqModMemBufAppend, &icap->reqmod.http_entity.buf); } - if (icap->reqmod.http_entity.bytes_read >= icap->request->content_length) + if (icap->chunk_size < 0 ) icap->flags.reqmod_http_entity_eof = 1; if (!icap->flags.reqmod_http_entity_eof) @@ -889,7 +888,7 @@ icap->reqmod.http_entity.callback); debug(81, 3) ("%s:%d http_entity.buf.size=%d\n", __FILE__, __LINE__, icap->reqmod.http_entity.buf.size); - if (icap->reqmod.http_entity.callback && icap->reqmod.http_entity.buf.size) { + 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, Christophe Boyanique wrote: > > Hello, > > Thanks for you support. > > I tried the patch from Tsantilas: >.................................................. > But there is a new problem. > > After the conditionnal call to commSetSelect there is a conditionnal > call to icapReqModPassHttpBody and this where is the problem: > > if (icap->reqmod.http_entity.callback && > icap->reqmod.http_entity.buf.size) { At this point try to change the if to: if (icap->reqmod.http_entity.callback /*&& icap->reqmod.http_entity.buf.size*/) to remove the icap->reqmod.http_entity.buf.size from if. Please, if you try it, tell me if still there is any problem here. All test I done, worked for me, but I want a second opinion before commit it to cvs ..... > icapReqModPassHttpBody(icap, > icap->reqmod.http_entity.callback_buf, > icap->reqmod.http_entity.callback_bufsize, > icap->reqmod.http_entity.callback, > icap->reqmod.http_entity.callback_data); > icap->reqmod.http_entity.callback = NULL; > cbdataUnlock(icap->reqmod.http_entity.callback_data); > > } >