summaryrefslogtreecommitdiff
path: root/doc/vpn-connection-api.txt
blob: 1fd3be264de48941ea8e1f32061f9fa659d87703 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
vpn connection
==============

Service		net.connman.vpn
Interface	net.connman.vpn.Connection
Object path	[variable prefix]/{connection0,connection1,...}

Methods		dict GetProperties()  [experimental]

			Returns properties for the connection object. See
			the properties section for available properties.

			Possible Errors: [connection].Error.InvalidArguments

		void SetProperty(string name, variant value) [experimental]

			Changes the value of the specified property. Only
			properties that are listed as read-write are
			changeable. On success a PropertyChanged signal
			will be emitted.

			Possible Errors: [connection].Error.InvalidArguments
					 [connection].Error.InvalidProperty

		void ClearProperty(string name) [experimental]

			Clears the value of the specified property.

			Possible Errors: [connection].Error.InvalidArguments
					 [connection].Error.InvalidProperty

		void Connect() [experimental]

			Connect this VPN connection. It will attempt to connect
			to the VPN connection. The Connect() will wait until
			the connection is created or there is an error. The
			error description is returned in dbus error.

			Possible Errors: [connection].Error.InvalidArguments
					[connection].Error.InProgress

		void Connect2(string dbus_sender) [experimental]

			Connect this VPN connection. The Connect2() is a
			wrapper for Connect() allowing to pass original D-Bus
			sender when proxying the connection request. The
			Connect2() will wait until the connection is created or
			there is an error. The error description is returned in
			dbus error.

			Possible Errors: [connection].Error.InvalidArguments
					[connection].Error.InProgress


		void Disconnect() [experimental]

			Disconnect this VPN connection. If the connection is
			not connected an error message will be generated.

			Possible Errors: [connection].Error.InvalidArguments

Signals		PropertyChanged(string name, variant value) [experimental]

			This signal indicates a changed value of the given
			property.

Properties	string State [readonly]

			The connection state information.

			Valid states are "idle", "failure", "configuration",
			"ready", "disconnect".

		string Type [readonly]

			The VPN type (for example "openvpn", "vpnc" etc.)

		string Name [readonly]

			The VPN name.

		string Domain [readonly]

			The domain name used behind the VPN connection.
			This is optional for most VPN technologies.

		string Host [readonly]

		       The VPN host (server) address.

		boolean Immutable [readonly]

			This value will be set to true if the connection is
			configured externally via a configuration file.

			The only valid operation are Connect(), Disconnect()
                        and GetProperties()

		int Index [readonly]

			The index of the VPN network tunneling interface.
			If there is no tunneling device, then this value
			is not returned.

		dict IPv4 [readonly]

			string Address

			        The current configured IPv4 address.

			string Netmask

			       The current configured IPv4 netmask.

			string Gateway

			       The current configured IPv4 gateway.

			string Peer

			       The current configured VPN tunnel endpoint
			       IPv4 address.

		dict IPv6 [readonly]

			string Address

			        The current configured IPv6 address.

			string PrefixLength

			       The prefix length of the IPv6 address.

			string Gateway

			       The current configured IPv6 gateway.

			string Peer

			       The current configured VPN tunnel endpoint
			       IPv6 address.

		array{string} Nameservers [readonly]

			The list of nameservers set by VPN.

		array{dict} UserRoutes [readwrite]

			int ProtocolFamily

				Protocol family of the route. Set to 4
				if IPv4 and 6 if IPv6 route.

			string Network

				The network part of the route.

			string Netmask

				The netmask of the route. For IPv6 routes,
				this is the prefix length.

			string Gateway

				Gateway address of the route.

			The list of currently active user activated
			routes.

		array{dict} ServerRoutes [readonly]

			int ProtocolFamily

				Protocol family of the route. Set to 4
				if IPv4 and 6 if IPv6 route.

			string Network

				The network part of the route.

			string Netmask

				The netmask of the route. For IPv6 routes,
				this is the prefix length.

			string Gateway

				Gateway address of the route.

			The VPN server activated route. These routes
			are pushed to connman by VPN server.

		There can be other properties also but as the VPN
		technologies are so different, they have different
		kind of options that they need, so not all options
		are mentioned in this document.