Comment 0 for bug 1692870

Jean-Louis Dupond (dupondje) wrote :

Hi,

Since I upgraded from Ubuntu 16.10 to 17.04, my Guest portal for my UniFi system was broken (https://www.ubnt.com/download/unifi/).

Curl gave me the following response:
# curl -vvvv --compress localhost:8880/guest/s/default/
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8880 (#0)
> GET /guest/s/default/ HTTP/1.1
> Host: localhost:8880
> User-Agent: curl/7.52.1
> Accept: */*
> Accept-Encoding: deflate, gzip
>
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Content-Type: text/html;charset=utf-8
< Transfer-Encoding: chunked
< Content-Encoding: gzip
< Vary: Accept-Encoding
< Date: Tue, 23 May 2017 11:19:22 GMT
<
* Error while processing content unencoding: invalid code lengths set
* Failed writing data
* Curl_http_done: called premature == 1
* Closing connection 0
curl: (23) Error while processing content unencoding: invalid code lengths set

After some debugging, I found out that downgrading to zlib 1:1.2.8.dfsg-2ubuntu5.1 was a workaround.

Now after digging into the issue some more, I found the following upstream patch (unreleased version), fixes the issue:
https://github.com/madler/zlib/commit/f9694097dd69354b03cb8af959094c7f260db0a1

I've created a new package, and its working fine again.

Now as the UniFi controller is just some Tomcat, which relies on Java (OpenJDK), which uses zlib for its built-in Compression/Decompression. I guess even more java related tools can be broken. But I didn't have time to test this.

At least some other people using UniFi have the same issue, see:
https://community.ubnt.com/t5/UniFi-Wireless/ERR-CONTENT-DECODING-FAILED-on-guest-portal-customisation/td-p/1903419