dlenski / gp-saml-gui

Interactively authenticate to GlobalProtect VPNs that require SAML
GNU General Public License v3.0
306 stars 69 forks source link

Add option to invoke openconnect #16

Closed davel closed 4 years ago

davel commented 4 years ago

The patch add an option to save you from needing to copy-paste the suggested openconnect command. It uses pkexec to gain privileges so as to make it play nicely with a desktop. (Works nicely on my Ubuntu GNOME.)

This change builds upon https://github.com/dlenski/gp-saml-gui/pull/14 .

dlenski commented 4 years ago

Thanks. This is great.

I would rather not have to add openconnect options one-by-one, as needed, so I slightly modified your PR to instead give a general-purpose mechanism for specifying openconnect options in an arbitrary way:

$ gp-saml-gui.py -P --clientos=Windows vpn.company.com -- --csd-wrapper=hip-report.sh
…
Launching OpenConnect with pkexec, equivalent to:
    echo blahblahblahlongrandomcookievalue |
        sudo openconnect --protocol=gp --user=foo12345@corp.company.com --os=win --usergroup=gateway:prelogin-cookie --passwd-on-stdin vpn.company.com
<pkexec authentication dialog pops up>
<openconnect runs>

I also added the option of invoking with either pkexec (-P) or sudo (-S).