summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2013-02-18 22:31:16 -0600
committerDan Williams <dcbw@redhat.com>2013-02-18 22:32:11 -0600
commitf39d39bc13469b7094366f4099b4e26c6cf51f04 (patch)
tree195f892894edfb780f1b6cdc56a80281800a3462
parent4b863a4b722ca3d13d77ebc495a83bc72bfeff94 (diff)
downloadNetworkManager-dcbw/agent-portal.tar.gz
api: add Agent interface for portal authenticationdcbw/agent-portal
-rw-r--r--introspection/Makefile.am3
-rw-r--r--introspection/all.xml.in1
-rw-r--r--introspection/nm-secret-agent-portal.xml121
3 files changed, 124 insertions, 1 deletions
diff --git a/introspection/Makefile.am b/introspection/Makefile.am
index 3850a23464..4585032579 100644
--- a/introspection/Makefile.am
+++ b/introspection/Makefile.am
@@ -29,5 +29,6 @@ EXTRA_DIST = \
nm-dhcp6-config.xml \
nm-agent-manager.xml \
nm-wimax-nsp.xml \
- nm-secret-agent.xml
+ nm-secret-agent.xml \
+ nm-secret-agent-portal.xml
diff --git a/introspection/all.xml.in b/introspection/all.xml.in
index a8cea6134d..3e9b8f33a8 100644
--- a/introspection/all.xml.in
+++ b/introspection/all.xml.in
@@ -49,6 +49,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<xi:include href="nm-active-connection.xml"/>
<xi:include href="nm-agent-manager.xml"/>
<xi:include href="nm-secret-agent.xml"/>
+<xi:include href="nm-secret-agent-portal.xml"/>
<xi:include href="nm-vpn-connection.xml"/>
<xi:include href="nm-vpn-plugin.xml"/>
diff --git a/introspection/nm-secret-agent-portal.xml b/introspection/nm-secret-agent-portal.xml
new file mode 100644
index 0000000000..bf49829bd5
--- /dev/null
+++ b/introspection/nm-secret-agent-portal.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+
+ <interface name="org.freedesktop.NetworkManager.SecretAgent.CaptivePortal">
+ <tp:docstring>
+ Private D-Bus interface used by NetworkManager and secret agents to
+ handle manual and automatic login to a captive portal.
+ </tp:docstring>
+
+ <method name="Authenticate">
+ <tp:docstring>
+ Authenticate to a captive portal.
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_secret_agent_portal_authenticate"/>
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="request_id" type="u" direction="in">
+ <tp:docstring>
+ A unique ID for this portal authentication request. If the
+ request is canceled this ID will be given to the agent via
+ the CancelAuthenticate method.
+ </tp:docstring>
+ </arg>
+ <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
+ <tp:docstring>
+ Nested settings maps containing the connection for which
+ secrets are being requested. This may contain system-owned
+ secrets if the agent has successfully authenticated to
+ modify system network settings.
+ </tp:docstring>
+ </arg>
+ <arg name="connection_path" type="o" direction="in">
+ <tp:docstring>
+ Object path of the connection for which secrets are being
+ requested.
+ </tp:docstring>
+ </arg>
+ <arg name="device_path" type="o" direction="in">
+ <tp:docstring>
+ Object path of the network device this portal was detected
+ on.
+ </tp:docstring>
+ </arg>
+ <arg name="url" type="s" direction="in">
+ <tp:docstring>
+ The URL of the captive portal if available. If the URL is
+ not given, the agent should load a generic website which
+ will trigger a portal login page.
+ </tp:docstring>
+ </arg>
+ <arg name="details" type="a{sv}" direction="in">
+ <tp:docstring>
+ Dict of additional portal details, if any. Possible keys
+ include 'ifindex' (interface index number of the network
+ device the portal was detected on) and 'iface' (interface
+ name of the network device the portal was detected on).
+ </tp:docstring>
+ </arg>
+
+ <!-- Values returned by the agent -->
+ <arg name="result" type="u" direction="out" tp:type="NM_SECRET_AGENT_PORTAL_RESULT">
+ <tp:docstring>
+ Result of the portal authentication operation.
+ </tp:docstring>
+ </arg>
+ <arg name="result" type="u" direction="out" tp:type="NM_SECRET_AGENT_PORTAL_RESULT">
+ <tp:docstring>
+ Result of the portal authentication operation.
+ </tp:docstring>
+ </arg>
+ </method>
+
+ <tp:enum name="NM_SECRET_AGENT_PORTAL_RESULT" type="u">
+ <tp:enumvalue suffix="UNKNOWN" value="0">
+ <tp:docstring>
+ This result is unused. If returned by the agent, it will be
+ treated as FAILURE.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="FAILURE" value="1">
+ <tp:docstring>
+ Portal authentication failed and the connection should be
+ disconnected.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="MAYBE" value="2">
+ <tp:docstring>
+ Portal authentication was performed but success is uncertain and
+ no definite failure was determined.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="SUCCESS" value="3">
+ <tp:docstring>
+ Portal authentication definitely succeeded.
+ </tp:docstring>
+ </tp:enumvalue>
+ </tp:enum>
+
+ <method name="CancelAuthenticate">
+ <tp:docstring>
+ Cancel a pending Authenticate request.
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_secret_agent_portal_cancel"/>
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="request_id" type="u" direction="in">
+ <tp:docstring>
+ An Authenticate request ID for which authentication should
+ be canceled.
+ </tp:docstring>
+ </arg>
+ <arg name="connection_path" type="o" direction="in">
+ <tp:docstring>
+ Object path of the connection for which, if secrets are being
+ requested, the request should be canceled.
+ </tp:docstring>
+ </arg>
+ </method>
+
+ </interface>
+
+</node>