adding support for PAN Globalprotect (SSL+ESP) to Openconnect

Daniel Lenski dlenski at
Sat Dec 24 15:19:00 PST 2016

(Sorry, I stopped watching this list for a bit)

On Tue, Dec 13, 2016 at 3:59 AM, David Woodhouse <dwmw2 at> wrote:
>> I was planning to break down my changes into two parts to make them
>> easier to review. First, add *SSL-only* support for GP. This is a
>> pretty self-contained change, requiring only two small patches to the
>> rest of the OpenConnect code to work correctly:
>> - Handle IPv4 route specified as either or
>> - Unset got_cancel_cmd after reacting to it, as is already done for
>> got_pause_cmd:
> I've merged these and they'll be in the 7.08 release, which I'm working
> on right now and hoping to push out today unless anything explodes.


> I'm slightly reticent about merging new protocols but I think it makes
> sense, and your submissions so far have reassured me that you'll do a
> good job of maintaining it.
> However, I think I do need to lumber you with an additional hurdle
> before we merge your new protocol after 7.08 — let's add a new API to
> check whether libopenconnect supports a given protocol, or to enumerate
> the protocols it supports. Currently it's just a hard-coded "if it's
> 7.05 or newer, it supports Juniper too", and I don't think we want that
> to continue. Let's do something explicit instead, and things like
> NetworkManager-openconnect can base their decisions on that.

For the protocol enumeration API, should the enumeration function
*just* return a linked list of protocol names
({"anyconnect","nc","gp"}) or will it need to return something more
complex with hints about possible authentication schemes, etc.? Since
all three of the current protocols use HTTPS for authentication and
HTTPS or <something UDP based> for the transport, I think a plain list
should suffice… but I'm not that familiar with the more exotic
authentication possibilities for Juniper and may be overlooking

We had also discussed the possibility of "--protocol=autodetect" or
something to that effect. Is that still something you'd want to have
ready in order for a merge? I do not currently have access to any
Juniper VPN, so I might have trouble testing it thoroughly.


More information about the openconnect-devel mailing list