Hi,
I want to clarify the conceptual overview of how a VPN
service plugin works; so I'm looking for answers to some
generic-type questions
Where does the the "VPN Service object" will exist in
the DBUS world - user session or system session?
Does the VPN Service object have root
privileges?
Where is a user's VPN connection definition (a set
of properties) is stored?
I'm trying to sketch this out in the form of a logical
flow diagram, but the information available seems sketchy. Is there a flow
diagram with respect to DBUS communications for vpn plugins?
This is what I think it looks like right now:
DBUS
NM----------|
NM-VPN----|
|----VPNPlugin
applet------|
|-> Properties Configurator
My understanding is that the user interacts with the
applet, that sends msgs to the NM service via DBUS, and in the case of a VPN
plugin operation; NM sends to NM-VPN (vpn manager) which sends to the VPN Plugin
itself for handling. Is this correct?
Is it acceptable for the VPNPlugin implementation to
spin-off a helper process to "watch" the vpn SA status or does NM just poll on
an interval via DBUS? I'm thinking about the case when the remote side
terminates the connection - how does NM become informed of this change of
state?
Is is acceptable for there to exist a version dependency
between a VPN service plugin and the underlying VPN service it's abstracting
(ie: nm-vpnc only works with version X.Y.Z of vpnc client)?
- If not: Is it an acceptable alternative to spawn
external helper utilities to control a connection and get it's
status?
I see the roadmap for NM talks about multiple devices
active. Does that include VPN connections? Does a VPN plugin have to support
that feature?
Will there be an 'IP6_config' method required soon; ie:
IPV6 support?
Thanks,
Steve.
|