Remove workarounds for missing APIs

The new APIs are now accepted upstream.

Change-Id: Ie0e9d398c621b76a3388a16ac3a921252dca117e
Signed-off-by: Kevin Cernekee <>
2 files changed
tree: 05d945dd61a967c243ef52988a43f36d343dca29
  1. .gitignore
  4. Makefile
  7. background.js
  8. ca/
  11. crypto.h
  12. crypto_callback.h
  13. icon-512.png
  14. icon.png
  15. jquery-2.2.0.min.js
  16. manifest.json
  17. native.nmf
  18. patch/
  19. portable.nmf
  20. settings.html
  21. settings.js
  23. vpn_instance.h
  25. vpn_module.h


This repository contains an experimental port of the OpenConnect VPN client to Chrome OS.

The official copy of this repository is hosted at

All changes must go through the Gerrit code review server on Please see the document in this directory for details on submitting patches.

Building from source

This procedure has been tested on Ubuntu Trusty (14.04) running in a crouton chroot.

nacl-openconnect is built using the Chrome Native Client SDK and webports, so the first step is to install the host dependencies listed on the home pages for those projects (python, git, etc.). Also, install the openssl command line tool. You do not need to manually install nacl_sdk, webports, or depot_tools by hand.

Next, chdir into the nacl-openconnect source tree and type make. This will download and compile several dependencies, and eventually generate an openconnect.crx output file.

To modify the libopenconnect library and rebuild the app, use: make libopenconnect && make clean && make

To rebuild the app after changing the vpn_instance wrapper or the JavaScript code, just use: make

If you are building under crouton on a Chromebook, it may be helpful to leave all of your sources under the shared ~/Downloads directory.


To “sideload” an app or extension under Chrome OS, open up chrome://extensions in the browser, then open the file manager with Alt-Shift-M, then drag the .crx file onto the extensions page. On the initial attempt, Chrome will prompt for permission to install the app. On subsequent attempts the installation will succeed “silently” without opening any dialogs.

Testing and debugging

This app has been tested using ocserv configured for user/pass authentication. It should also work with standard Cisco ASA appliances.

You can view the debug output by opening chrome://extensions and inspecting the background page (select the Console tab).