Openconnect hangs upon connecting

Bug #881720 reported by Tom Ellis
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
openconnect (Ubuntu)
Fix Released
Medium
Mathieu Trudel-Lapierre
Oneiric
Won't Fix
Undecided
Unassigned
Precise
Fix Released
Medium
Mathieu Trudel-Lapierre

Bug Description

= Problem =

* Openconnect hangs when establishing DTLS tunnel to Cisco ASA Gateways

* Hang can be for approximately 30 seconds

= Environment =

* Ubuntu 11.10 (Oneiric) i386
* Cisco Adaptive Security Applicances (ASA) (Firmware 8.4.1 11)
* Openconnect (3.02-1)

= Steps to reproduce =

1. Setup Openconnect
2. Connect to your ASA Gateway
3. Hang will occur for 30 seconds
4. Connection will then be established

= Resolution =

* Wait 30 seconds on connection

* Upgrade to Openconnect 3.12 or above

= Cause =

The issue is known upstream and fixed in version 3.12 and above.
The following patch looks to be related to the fix:
http://git.infradead.org/users/dwmw2/openconnect.git/commit/9785d0c0475c6d185c15bb0d63d170cb3c4581d9

Tags: pse
Revision history for this message
Tom Ellis (tellis) wrote :

This is affecting Oneiric and has been fixed upstream already, according to: http://www.infradead.org/openconnect/changelog.html

"OpenConnect v3.12 — 2011-09-12
Fix DTLS compatibility with ASA firmware 8.4.1(11) and above."

This seems SRU worthy since it will be impacting any users who are connecting to an ASA with new firmware.

description: updated
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Yes, let's consider this for SRU, I'll start getting that package prepared.

Changed in openconnect (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Revision history for this message
pittipatti (pittipatti) wrote :

a new version of "openconnect" implies a new build of "network-manager-openconnect-gnome" against the new version of "openconnect" as well, since the auth-dialog[1] in this package gives https connection errors when build against v3.02 of openconnect.

[1] /usr/lib/NetworkManager/nm-openconnect-auth-dialog

Revision history for this message
dwmw2 (dwmw2) wrote :

pittipatti is correct. I'll elucidate...

Long ago (commit 3bee59c in v2.26) we switched from using TLSv1 to SSLv3, because some servers (or their firewalls) seem to reject any connections with Hello extensions.

In v3.11 (commit 4ad3d6c) we changed that again, because some servers also reject SSLv3 connections. Now we use TLSv1 but explicitly disable extensions. This should work everywhere.

We have *also* made openconnect export this code as a proper shared library, so when things like that are updated it will automatically take effect in the auth-dialog too. Older versions (including v3.02) only exported a *static* library because we weren't quite ready to call the API "stable" at that point.

What you need to do is update the openconnect package and make sure you're installing the shared library, and then make sure your network-manager-openconnect (and kde4-plasma-networkmanagement) packages are using the *shared* library for their authentication dialogs.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Oh, but in this case we won't be shipping 3.11; just cherry-picking the relevant issues. Shouldn't this just work?

Unfortunately I'm just relying on help to test this, since I don't have the required infrastructure.

Revision history for this message
Tom Ellis (tellis) wrote :

I will be able to get the package tested.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Hi all,

openconnect 3.02-1ubuntu1 was accepted in oneiric-proposed 4 weeks ago already (https://launchpad.net/ubuntu/+source/openconnect/3.02-1ubuntu1).

Tom, could you please try to get testing done for this and confirm whether it's working properly?

tags: added: verification-needed
Revision history for this message
dwmw2 (dwmw2) wrote :

I've just installed Oneiric into a VM and tested it.

Firstly, network-manager-openconnect isn't installed by default. So users will be confused and may even try installing the horridly broken Cisco AnyConnect stuff. Please fix that. The VPN packages for NetworkManager are *so* small it's not worth *not* having them.

Secondly, after installing the package the first connection attempt fails thus:
Dec 2 19:15:43 oneiric NetworkManager[831]: <info> VPN plugin state changed: 1
Dec 2 19:15:44 oneiric NetworkManager[831]: <error> [1322853344.24434] [nm-vpn-connection.c:882] get_secrets_cb(): Failed to request VPN secrets #2: (6) No agents were available for this request.

I ran nm-applet from a terminal (giving me two of them in the panel), and then it worked. I don't think my server is yet updated to the firmware revision which objects to the DTLS retries, but tcpdump seems to confirm that we *aren't* sending the duplicate Change Cipher Spec and Encrypted Handshake messages that were causing the problem. Which is what I'd expect, since you are using OpenSSL 1.0.0e.

It *is* still using SSLv3 though, which is fixed by upstream commit 4ad3d6ce4c8f103a724c0632e483a8494f92ddaf

Revision history for this message
dwmw2 (dwmw2) wrote :

While you're at it, you want to pick up this commit if you're building with libproxy support:
http://git.infradead.org/users/dwmw2/openconnect.git/commitdiff/88f79bb89

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in openconnect (Ubuntu Oneiric):
status: New → Confirmed
Changed in openconnect (Ubuntu Precise):
status: In Progress → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Verification still needed

The fix for this bug has been awaiting testing feedback in the -proposed repository for oneiric for more than 90 days. Please test this fix and update the bug appropriately with the results. In the event that the fix for this bug is still not verified 15 days from now, the package will be removed from the -proposed repository.

tags: added: removal-candidate
Revision history for this message
Brian Murray (brian-murray) wrote :

The version of openconnect in oneiric-proposed has been removed as the bugs it was fixing (including this one) were not verified in a timely fashion.

Changed in openconnect (Ubuntu Oneiric):
status: Confirmed → Triaged
tags: removed: verification-needed
tags: removed: removal-candidate
Revision history for this message
Rolf Leggewie (r0lf) wrote :

oneiric has seen the end of its life and is no longer receiving any updates. Marking the oneiric task for this ticket as "Won't Fix".

Changed in openconnect (Ubuntu Oneiric):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.