[Bug 1692870] Re: gzip compression broken in UniFi (built-in tomcat)

Steve Langasek steve.langasek at canonical.com
Thu Aug 17 15:22:04 UTC 2017


Why does your debdiff drop the use-dso patch?  Can you confirm that
*not* disabling the use-dso patch still lets this work for you?

-- 
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