OpenConnect 3.11 release

Jason openconnect at lakedaemon.net
Thu Jul 21 09:04:47 EDT 2011


On Wed, Jul 20, 2011 at 05:48:04PM -0700, David Woodhouse wrote:
> This should be landing in Cyanogen some time soon... once the Java UI
> bits have been done for the login part. Any Java-capable people who want
> to give us a hand with that, please don't be shy...

In particular, I'm trying to figure out how to roll a custom dialog in
Java which uses org.apache.http.  This way, the user will get the
webform, fill it in, and we'll extract the cookie with
org.apache.http.cookie.

The second thing which I need help with is passing the syslog messages
up to the Java UI for parsing and interpreting the state information.
The OpenVPN implementation in CM does this with a unix socket, I'll
probably do similar.

Last, and this is a nice to have, I'd like to use '--script="set >&3"'
and have the calling process, which runs as root, configure the network.
The calling process is mtpd.  This one isn't critical because I
currently have '--script="su -c /path/to/vpnc-up.sh"'  and the SuperUser
apk grants it permission.

How to build:

This is an overview, please don't assume it is correct. ;-)  I'm
assuming you already have CM running on your phone.  So, pull up

http://wiki.cyanogenmod.com/wiki/Building_from_source

and pick your phone and host OS.  For me, that was the Nexus One and
Ubuntu.

Follow the instructions until you get to 'repo sync -j16', once that one
is done, create a new branch in all the git trees:

$ repo start openconnect

Now, using the wonders of git, you can pull in all of the trees from
git.infradead.org/users/jcooper/*  Here's a list of the git directories
where I changed code:

android
external/mtpd
external/openconnect 	# you can use David's tree here.
external/openssl
frameworks/base
package/apps/Settings
system/core
vendor/cyanogen

The only squirrelly thing was after creating external/openconnect, I had
to do this:

$ cd ~/android/system/.repo/projects/external
$ git clone --bare git://git.infradead.org/users/dwmw2/openconnect.git

All of the other git repos in the tree (eg external/openssl/.git) are
full of symlinks to bare repos under .repo/projects.  I didn't do that
with openconnect, and that'll probably burn me later, but hasn't yet.

Now, you can proceed to hack it up, then follow the rest of the
CM build instructions.  Beware, on an i7 with 8GB ram, it takes 30
minutes to build.

Patches are appreciated!

thx,

Jason.



More information about the openconnect-devel mailing list