bzr branch
http://bzr.recompile.se/loggerhead/mandos/trunk
423
by Teddy Hogeborn
Documentation changes: |
1 |
-*- mode: org; coding: utf-8 -*- |
2 |
||
3 |
Mandos Server D-Bus Interface |
|
4 |
||
5 |
This file documents the D-Bus interface to the Mandos server. |
|
6 |
||
7 |
* Bus: System bus |
|
24.1.186
by Björn Påhlsson
transitional stuff actually working |
8 |
Bus name: "se.recompile.Mandos" |
423
by Teddy Hogeborn
Documentation changes: |
9 |
|
10 |
||
11 |
* Object Paths: |
|
12 |
|
|
13 |
| Path | Object | |
|
14 |
|-----------------------+-------------------| |
|
15 |
| "/" | The Mandos Server | |
|
16 |
| "/clients/CLIENTNAME" | Mandos Client | |
|
17 |
||
18 |
|
|
19 |
* Mandos Server Interface: |
|
24.1.186
by Björn Påhlsson
transitional stuff actually working |
20 |
Interface name: "se.recompile.Mandos" |
423
by Teddy Hogeborn
Documentation changes: |
21 |
|
22 |
** Methods: |
|
23 |
*** GetAllClients() → (ao: Clients) |
|
24 |
Returns an array of all client D-Bus object paths |
|
25 |
|
|
26 |
*** GetAllClientsWithProperties() → (a{oa{sv}}: ClientProperties) |
|
27 |
Returns an array of all clients and all their properties |
|
28 |
|
|
29 |
*** RemoveClient(o: ObjectPath) → nothing |
|
30 |
Removes a client |
|
31 |
|
|
32 |
** Signals: |
|
33 |
*** ClientAdded(o: ObjectPath) |
|
34 |
A new client was added. |
|
35 |
|
|
36 |
*** ClientNotFound(s: Fingerprint, s: Address) |
|
37 |
A client connected from Address using Fingerprint, but was |
|
38 |
rejected because it was not found in the server. The fingerprint |
|
39 |
is represented as a string of hexadecimal digits. The address is |
|
40 |
an IPv4 or IPv6 address in its normal string format. |
|
41 |
|
|
42 |
*** ClientRemoved(o: ObjectPath, s: Name) |
|
43 |
A client named Name on ObjectPath was removed. |
|
44 |
||
45 |
||
46 |
* Mandos Client Interface: |
|
24.1.186
by Björn Påhlsson
transitional stuff actually working |
47 |
Interface name: "se.recompile.Mandos.Client" |
423
by Teddy Hogeborn
Documentation changes: |
48 |
|
49 |
** Methods |
|
50 |
*** Approve(b: Approve) → nothing |
|
51 |
Approve or deny a connected client waiting for approval. If |
|
52 |
denied, a client will not be sent its secret. |
|
53 |
|
|
54 |
*** CheckedOK() → nothing |
|
55 |
Assert that this client has been checked and found to be alive. |
|
56 |
This will restart the timeout before disabling this client. See |
|
57 |
also the "LastCheckedOK" property. |
|
58 |
|
|
59 |
*** Disable() → nothing |
|
60 |
Disable this client. See also the "Enabled" property. |
|
61 |
|
|
62 |
*** Enable() → nothing |
|
63 |
Enable this client. See also the "Enabled" property. |
|
64 |
|
|
65 |
*** StartChecker() → nothing |
|
66 |
Start a new checker for this client, if none is currently |
|
67 |
running. See also the "CheckerRunning" property. |
|
68 |
|
|
69 |
*** StopChecker() → nothing |
|
70 |
Abort a running checker process for this client, if any. See also |
|
71 |
the "CheckerRunning" property. |
|
72 |
||
73 |
** Properties |
|
74 |
|
|
75 |
Note: Many of these properties directly correspond to a setting in |
|
76 |
"clients.conf", in which case they are fully documented in |
|
77 |
mandos-clients.conf(5). |
|
78 |
|
|
442
by Teddy Hogeborn
* DBUS-API: Document new "LastApprovalRequest" client property. |
79 |
| Name | Type | Access | clients.conf | |
80 |
|-------------------------+------+------------+---------------------| |
|
81 |
| ApprovedByDefault | b | Read/Write | approved_by_default | |
|
82 |
| ApprovalDelay (a) | t | Read/Write | approval_delay | |
|
83 |
| ApprovalDuration (a) | t | Read/Write | approval_duration | |
|
84 |
| ApprovalPending (b) | b | Read | N/A | |
|
85 |
| Checker | s | Read/Write | checker | |
|
86 |
| CheckerRunning (c) | b | Read/Write | N/A | |
|
87 |
| Created (d) | s | Read | N/A | |
|
88 |
| Enabled (e) | b | Read/Write | N/A | |
|
24.1.179
by Björn Påhlsson
New feature: |
89 |
| Expires (f) | s | Read | N/A | |
497
by Teddy Hogeborn
* DBUS-API: Document new "Expires" and "ExtendedTimeout" properties. |
90 |
| ExtendedTimeout (a) | t | Read/Write | extended_timeout | |
442
by Teddy Hogeborn
* DBUS-API: Document new "LastApprovalRequest" client property. |
91 |
| Fingerprint | s | Read | fingerprint | |
92 |
| Host | s | Read/Write | host | |
|
93 |
| Interval (a) | t | Read/Write | interval | |
|
24.1.179
by Björn Påhlsson
New feature: |
94 |
| LastApprovalRequest (g) | s | Read | N/A | |
95 |
| LastCheckedOK (h) | s | Read/Write | N/A | |
|
96 |
| LastEnabled (i) | s | Read | N/A | |
|
442
by Teddy Hogeborn
* DBUS-API: Document new "LastApprovalRequest" client property. |
97 |
| Name | s | Read | (Section name) | |
98 |
| ObjectPath | o | Read | N/A | |
|
24.1.179
by Björn Påhlsson
New feature: |
99 |
| Secret (j) | ay | Write | secret (or secfile) | |
442
by Teddy Hogeborn
* DBUS-API: Document new "LastApprovalRequest" client property. |
100 |
| Timeout (a) | t | Read/Write | timeout | |
423
by Teddy Hogeborn
Documentation changes: |
101 |
|
102 |
a) Represented as milliseconds. |
|
103 |
|
|
104 |
b) An approval is currently pending. |
|
105 |
|
|
106 |
c) Setting this property is equivalent to calling StartChecker() or |
|
107 |
StopChecker(). |
|
108 |
|
|
477
by Teddy Hogeborn
* DBUS-API: Fix grammar. |
109 |
d) The creation time of this client object, as an RFC 3339 string. |
423
by Teddy Hogeborn
Documentation changes: |
110 |
|
111 |
e) Setting this property is equivalent to calling Enable() or |
|
112 |
Disable(). |
|
113 |
|
|
24.1.179
by Björn Påhlsson
New feature: |
114 |
f) The date and time this client will be disabled, as an RFC 3339 |
518.2.3
by Teddy Hogeborn
Make "enabled" a client config option. |
115 |
string, or an empty string if this is not scheduled. |
24.1.179
by Björn Påhlsson
New feature: |
116 |
|
497
by Teddy Hogeborn
* DBUS-API: Document new "Expires" and "ExtendedTimeout" properties. |
117 |
g) The date and time of the last approval request, as an RFC 3339 |
118 |
string, or an empty string if this has not happened. |
|
119 |
|
|
120 |
h) The date and time a checker was last successful, as an RFC 3339 |
|
121 |
string, or an empty string if this has not happened. Setting |
|
122 |
this property is equivalent to calling CheckedOK(), i.e. the |
|
123 |
current time is set, regardless of the string sent. Please |
|
124 |
always use an empty string when setting this property, to allow |
|
125 |
for possible future expansion. |
|
126 |
|
|
127 |
i) The date and time this client was last enabled, as an RFC 3339 |
|
128 |
string, or an empty string if this has not happened. |
|
423
by Teddy Hogeborn
Documentation changes: |
129 |
|
24.1.179
by Björn Påhlsson
New feature: |
130 |
j) A raw byte array, not hexadecimal digits. |
423
by Teddy Hogeborn
Documentation changes: |
131 |
|
132 |
** Signals |
|
133 |
*** CheckerCompleted(n: Exitcode, x: Waitstatus, s: Command) |
|
134 |
A checker (Command) has completed. Exitcode is either the exit |
|
135 |
code or -1 for abnormal exit. In any case, the full Waitstatus |
|
136 |
(as from wait(2)) is also available. |
|
137 |
|
|
138 |
*** CheckerStarted(s: Command) |
|
139 |
A checker command (Command) has just been started. |
|
140 |
|
|
141 |
*** GotSecret() |
|
142 |
This client has been sent its secret. |
|
143 |
|
|
144 |
*** NeedApproval(t: Timeout, b: ApprovedByDefault) |
|
145 |
This client will be approved or denied in exactly Timeout |
|
146 |
milliseconds, depending on ApprovedByDefault. Approve() can now |
|
147 |
usefully be called on this client object. |
|
477
by Teddy Hogeborn
* DBUS-API: Fix grammar. |
148 |
|
423
by Teddy Hogeborn
Documentation changes: |
149 |
*** PropertyChanged(s: Property, v: Value) |
150 |
The Property on this client has changed to Value. |
|
477
by Teddy Hogeborn
* DBUS-API: Fix grammar. |
151 |
|
423
by Teddy Hogeborn
Documentation changes: |
152 |
*** Rejected(s: Reason) |
153 |
This client was not given its secret for a specified Reason. |
|
154 |
||
546
by Teddy Hogeborn
* debian/rules (binary-common): Exclude network-hooks.d from |
155 |
*** NewRequest(s: IPAddress) |
156 |
A client at IPAdress has requested its secret. |
|
518.1.4
by Björn Påhlsson
restructured logger |
157 |
|
444
by Teddy Hogeborn
Update copyright year to "2010" wherever appropriate. |
158 |
* Copyright |
159 |
||
544
by Teddy Hogeborn
Updated year in copyright notices. |
160 |
Copyright © 2010-2012 Teddy Hogeborn |
161 |
Copyright © 2010-2012 Björn Påhlsson |
|
444
by Teddy Hogeborn
Update copyright year to "2010" wherever appropriate. |
162 |
|
163 |
** License: |
|
164 |
|
|
165 |
This program is free software: you can redistribute it and/or |
|
166 |
modify it under the terms of the GNU General Public License as |
|
167 |
published by the Free Software Foundation, either version 3 of the |
|
168 |
License, or (at your option) any later version. |
|
169 |
||
170 |
This program is distributed in the hope that it will be useful, but |
|
171 |
WITHOUT ANY WARRANTY; without even the implied warranty of |
|
172 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
173 |
General Public License for more details. |
|
174 |
||
175 |
You should have received a copy of the GNU General Public License |
|
176 |
along with this program. If not, see |
|
177 |
<http://www.gnu.org/licenses/>. |
|
178 |
||
423
by Teddy Hogeborn
Documentation changes: |
179 |
|
180 |
#+STARTUP: showall |