[Bug 1692870] Re: gzip compression broken in UniFi (built-in tomcat)
Brian Murray
brian at ubuntu.com
Thu Aug 17 15:24:18 UTC 2017
** Also affects: zlib (Ubuntu Artful)
Importance: High
Status: Confirmed
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1692870
Title:
gzip compression broken in UniFi (built-in tomcat)
Status in zlib package in Ubuntu:
Confirmed
Status in zlib source package in Zesty:
Confirmed
Status in zlib source package in Artful:
Confirmed
Bug description:
[Impact]
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
[Test Case]
- Install UniFi controller on Ubuntu 17.04 (http://dl.ubnt.com/unifi/5.4.16/unifi_sysvinit_all.deb)
- Go to https://<ip>:8443/manage/site/default/settings/guestcontrol
- Or do: curl -vvvv --compress <ip>:8880/guest/s/default/
When compression is enabled, its broken.
When disabling compression in curl, it works fine.
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
[Regression Potential]
Everybody upgrading from 16.10 (or previous) to 17.04 will be affected by this.
The patch is taken from upstream, so this isn't a change we will need
to keep different from upstream.
I've already created a new package (see debdiff) that fixes the issue.
[Other Info]
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
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zlib/+bug/1692870/+subscriptions
More information about the Ubuntu-sponsors
mailing list