Nick,

works out the header was actually being added by protocol.c (in
ap_set_content_length)

I've fixed it for what I needed by simply commenting out the body of that
method. This keeps the EAIF MMSC happy and this httpd instance will only be
used for this purpose anyway.

Not sure what the best way of fixing this would be, but I've already lost 1
1/2 days over this and need to crack on with other work. My C skills aren't
that hot anyways, so I'm just happy I got some result out of my effort ;)

Thanks all for the help.

Cheers

Dan

On 25/07/07, Nick Kew <[EMAIL PROTECTED]> wrote:

On Wed, 25 Jul 2007 10:59:33 +0100
"Daniel JavaDev" <[EMAIL PROTECTED]> wrote:

> Unfortunately it's not my client, but Nokia's EAIF MMSC (emulator in
> this case).
>
> Like I said, I've coded my application to the protocol (EAIF) and it
> works. I only need to add apache httpd in between in order to
> restrict access to the application (by IP address range).

Do you mean EAIF is a protocol that looks like something-over-HTTP
but is too poorly thought out to work over HTTP?

> As you can see, httpd is replacing Transfer-Encoding with C-L, which
> is breaking things.

AFAICT HTTP permits a proxy to do that.  If you think otherwise,
please point to the relevant section in RFC2616.

> I've used 'SetEnv proxy-sendchunked 1' in my httpd config, but it did
> not make a difference.

That's for requests, not responses.  An HTTP/1.0 server (or client)
is not required to accept chunked encoding.  That setting means Apache
can proxy HTTP/1.0 without having to sacrifice efficiency with HTTP/1.1.

> I'm tempted to hack the mod_proxy code but only has a last resort.
> Surely there must be some way to configure httpd to stick with the
> original headers.

I'm not sure: it's not something anyone's raised before (AFAIK).
If mod_headers doesn't help (and I suspect it won't, as it comes
before the protocol filter), then you'll have to hack the code.
The good news is: it's probably as simple as setting r->chunked = 1
at the right point, and perhaps removing the Content-Length filter,
if your environment variable is set to do that.

If you do that, you might want to contribute your patch back.
Under bugzilla, you could enter it as an enhancement request
something like "support EAIF protocol in the proxy".

--
Nick Kew

Application Development with Apache - the Apache Modules Book
http://www.apachetutor.org/

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to