EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Chunked and compressed transfer problem

Also by EldoS: Solid File System
A virtual file system that offers a feature-rich storage for application documents and data with built-in compression and encryption.
#36463
Posted: 04/13/2016 10:41:20
by Ilija Pavlov (Standard support level)
Joined: 12/06/2013
Posts: 13

Hi,

We have an HTTP client which makes a POST request to a server with a header specifying Accept-Encoding:gzip,deflate. The data posted is XML and the server is supposed to return a result which is then processed.

Now we got error which looks like:
EElHTTPSCompressionError: [Invalid GZIP header. (error code is 100357)]

However, the same code works fine in SB 13.0.282.
The problem we have is in SB 14.0.287.

Changing the HTTP version to 1.0 makes it work in 14 also, but that is not a solution. (I can see in the logs that HTTP 1.0 makes the transfer not chunked)

Unfortunately I cannot provide access to the server or any code at the moment because it uses sensitive information, but some guidance or maybe a test you can do and confirm if it is bug could be very useful so we know if we should wait for fix.

Thank you!

/Ilija
#36478
Posted: 04/14/2016 05:12:49
by Eugene Mayevski (EldoS Corp.)

Thank you for the report.

Chunked encoding is very non-trivial to debug because there exists a number of "border cases" when the chunk is split between TCP packets and is received incompletely. Such things are hard to track and almost impossible to fix remotely.

Indeed there were significant changes made in SBB 14 in order to address some shortcomings related to the combination of chunked encoding and compression (our previous implementation didn't completely adhere to the standard).

We did test the new implementation, and given that there are plenty of users of HTTPS components with no bug reports besides yours, I tend to believe, that the issue is specific to either your server or the data being sent or the combination of both.

Could you please try disabling compression on the client side and see if the data is received correctly after that? Such test will let us understand better, if it's handling of chunked encoding that fails, or the error is related to compression.


Sincerely yours
Eugene Mayevski
#36484
Posted: 04/14/2016 06:50:48
by Ilija Pavlov (Standard support level)
Joined: 12/06/2013
Posts: 13

Hi,

It looks like it is working fine when I set UseCompression to false.

Hope this info helps.

/Ilija
#36486
Posted: 04/14/2016 13:16:24
by Eugene Mayevski (EldoS Corp.)

I assume you have checked the downloaded contents and ensured them to be correct, haven't you?

Probably disabling compression would be the only option until we find a way to reproduce the problem on some server and investigate it.


Sincerely yours
Eugene Mayevski
#36491
Posted: 04/15/2016 08:21:35
by Ilija Pavlov (Standard support level)
Joined: 12/06/2013
Posts: 13

Hi,

Yes, I compared the data with SB13 and the content is correct.

I managed to create a simple console app which can reproduce the bug (making request to the server our customer use!).
However, we would need to continue the discussion in a non-public place because the code contains sensitive credentials.

Can we do that, and where?

/Ilija
#36492
Posted: 04/15/2016 08:25:25
by Vsevolod Ievgiienko (EldoS Corp.)

Hello.

I welcome you to post the sample into the Helpdesk ( https://www.eldos.com/helpdesk/ ). I've already created a ticket for you.

Helpdesk is our easy-to-use individual support system that allows communicating and exchanging sample data with our support personnel privately. You will also get e-mail notifications about updates of your support request.
Also by EldoS: MsgConnect
Cross-platform protocol-independent communication framework for building peer-to-peer and client-server applications and middleware components.

Reply

Statistics

Topic viewed 1709 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!