NetworkManager/introspection/vpn-errors.xml
Jiří Klimeš 9dff830692 vpn: fix connecting to VPN (bgo #708255)
The ConnectInteractive() -> Connect() fallback code doesn't work, because
_connect_internal() changes the state to NM_VPN_SERVICE_STATE_STARTING before
checking if it can implement ConnectInteractive(), and then when the Connect()
call comes in, the VPN is not in STOPPED or INIT, so it returns an error.

The commit moves setting state to STARTING after the ConnectInteractive() check
availability, in the plugin. We introduce new plugin error and set it when the
the plugin does not implement ConnectInteractive(). NetworkManager uses this
error for ConnectInteractive() -> Connect() fallback.

https://bugzilla.gnome.org/show_bug.cgi?id=708255
2013-09-27 13:26:09 +02:00

39 lines
1.8 KiB
XML

<?xml version="1.0" ?>
<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
namespace="org.freedesktop.NetworkManager.VPN.Error">
<tp:error name="General">
<tp:docstring>This is a drab, nondescript error.</tp:docstring>
</tp:error>
<tp:error name="StartingInProgress">
<tp:docstring>The request could not be processed because the VPN connection is already being started.</tp:docstring>
</tp:error>
<tp:error name="AlreadyStarted">
<tp:docstring>The request could not be processed because a VPN connection was already active.</tp:docstring>
</tp:error>
<tp:error name="StoppingInProgress">
<tp:docstring>The request could not be processed because the VPN connection is already being stopped.</tp:docstring>
</tp:error>
<tp:error name="AlreadyStopped">
<tp:docstring>The request could not be processed because the VPN connection was already stopped.</tp:docstring>
</tp:error>
<tp:error name="WrongState">
<tp:docstring>The request could not be processed because the VPN connection is in the wrong state for this type of request. FIXME: too general?</tp:docstring>
</tp:error>
<tp:error name="BadArguments">
<tp:docstring>Invalid arguments were passed with the request. FIXME: too general.</tp:docstring>
</tp:error>
<tp:error name="LaunchFailed">
<tp:docstring>A binary providing the service failed to launch.</tp:docstring>
</tp:error>
<tp:error name="ConnectionInvalid">
<tp:docstring>The request could not be processed because the VPN connection settings were invalid.</tp:docstring>
</tp:error>
<tp:error name="InteractiveNotSupported">
<tp:docstring>
The request could not be processed because the plugin does not support
interactive operations, such as ConnectInteractive() or NewSecrets().
</tp:docstring>
</tp:error>
</tp:errors>