Hello list,

I've written initial OpenConnect VPN support into carrick (aka MeeGo netbook networks panel) in the last days: things now work with connman master, but there are some issues in making the user interaction as smooth as it should be: I've had to add extra UI elements for connecting to VPNs and also have to do additional cleanup after VPN disconnection.

I know that Samuel is going to work on some of these things soon but I'd like to make sure I understand where we are going... So, I'm writing down how VPNs should work from my UI client developer POV and also note the possible solutions that have been mentioned. Please correct me whenever I do not make sense -- I'm not too familiar with connman internals so my "solutions" may be everything but.



1.The UI problem to solve is "How to consistently show the user the available VPN connections". I think connman should list "available" VPN services in the service list. There is no problem requiring another call e.g. to create the VPN providers or whatever the implementation requires, but including the services in the service list at some point seems like a logical choice to me. The VPN services should possibly only show up when there is another "online" service already, they don't make much sense otherwise.

"Available VPN" above means a VPN connection that is configured to the point where the user only needs to give credentials to connect: this means connman should be able to access the configurations that are needed for authentication and connecting.

I believe Samuel thought it would make sense to store some OpenConnect config in connman .config files, but he wasn't as convinced that VPN services should be listed like other services: I'm ready for any alternative solution that allows me to present VPNs to the user in a consistent way.

I'm not entirely sure what parts of openconnect config -- currently stored in /system/networking/<N>/ -- should to be stored by connman... Some of the items are more client specific or user specific. David and Samuel have a clearer picture of this I'm sure. I would appreciate someone spelling it out for me too :).



2. The actual authentication should be done by clients
When user wants to connect, connman should ask the client UI for a openconnect auth-cookie (and provide the necessary config required to fetch it). the other alternative is for connman to relay the vpn servers challenges to the client UI that would then send the responses back via connman... but that would be quite complex.

According to Samuel the Agent api could be used for this.



3. Configuring a new VPN connection should be possible
For carrick I'd like to implement this like "Add new connection" for wireless connections is implemented: filling out a form would create a VPN configuration that would then be available in the service list



Comments and corrections appreciated,
  Jussi

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to