Warning: Bad compression stub decompression header byte
If your VPN server is running OpenVPN 2.3 or earlier, and the client configuration was designed for OpenVPN 2.3 clients, in some instances you may encounter connection problems when using modern versions of Viscosity (which ship with OpenVPN 2.4) due to a mismatch of VPN compression settings. OpenVPN 2.4 introduced a number of new compression options, and also enforces stricter requirements between the settings on the server and client.
A mismatch of VPN compression settings can result in a warning of "Bad compression stub decompression header byte" appearing in the connection log. However in many instances, depending on the compression settings, it can result in a non-functional VPN connection with no warnings at all.
OpenVPN 2.3 was far more lenient about compression configuration mismatches between client and server. You may have wanted your connection to use compression, but if there is a configuration mismatch, OpenVPN 2.3 would generally not show any errors or warnings, instead compression would simply not be used. OpenVPN 2.4 however will drop packets using a different compression setting than expected. This can result in a VPN connection establishing, however it being essentially unusable.
For information on how to resolve this problem and restore your VPN connection to a working state, please refer to the sections below.
OpenVPN Server Administrators
We also strongly recommend disabling compression due to the VORACLE security vulnerability.
If you still wish to use compression, we recommend updating your server to at least OpenVPN 2.4 and use the compress option remove any legacy comp-lzo options. OpenVPN 2.4 is backwards compatible with older OpenVPN servers in most cases.
If you are not the administrator of the server you are connecting to, as a first step we highly recommend contacting your VPN Provider for assistance. If you're unsure who this is please see the How Do I Find Out Who My VPN Provider Is? article. It's highly likely they'll be able to provide you with an updated configuration file you can simply import into Viscosity, without the need to do through the additional troubleshooting steps below.
If you're unable to get an updated configuration from your VPN Provider, please try making the changes below:
- Edit your connection in Viscosity and go to the Advanced tab. If there is a line starting with comp-lzo here, take note of this line (it could be comp-lzo yes, comp-lzo no, comp-lzo adaptive, or just comp-lzo). Then delete this line.
- Save your connection and try to connect. If you are able to connect and access resources through your VPN, there is nothing more you need to do. Otherwise please continue.
- Edit your connection in Viscosity again and go to the Options tab.
- If you had comp-lzo yes, comp-lzo adaptive, or just comp-lzo, the Compression option should be set to "LZO". If you are unable to use your VPN, change the Compression option to Off, save your connection and try connecting again.
- If you had comp-lzo no, the Compression option should be set to "Off". If you are unable to use your VPN, change the Compression option to LZO, save your connection and try connecting again.