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 | |
| 8 | Bus name: "se.bsnet.fukt.Mandos" | |
| 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: | |
| 20 | Interface name: "se.bsnet.fukt.Mandos" | |
| 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: | |
| 47 | Interface name: "se.bsnet.fukt.Mandos.Client" | |
| 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 | | |
| 89 | | Fingerprint | s | Read | fingerprint | | |
| 90 | | Host | s | Read/Write | host | | |
| 91 | | Interval (a) | t | Read/Write | interval | | |
| 92 | | LastApprovalRequest (f) | s | Read | N/A | | |
| 93 | | LastCheckedOK (g) | s | Read/Write | N/A | | |
| 94 | | LastEnabled (h) | s | Read | N/A | | |
| 95 | | Name | s | Read | (Section name) | | |
| 96 | | ObjectPath | o | Read | N/A | | |
| 97 | | Secret (i) | ay | Write | secret (or secfile) | | |
| 98 | | Timeout (a) | t | Read/Write | timeout | | |
| 423
by Teddy Hogeborn Documentation changes: | 99 |    
 | 
| 100 | a) Represented as milliseconds. | |
| 101 |    
 | |
| 102 | b) An approval is currently pending. | |
| 103 |    
 | |
| 104 | c) Setting this property is equivalent to calling StartChecker() or | |
| 105 | StopChecker(). | |
| 106 |    
 | |
| 107 | d) The creation time of this client object, as a RFC 3339 string. | |
| 108 |    
 | |
| 109 | e) Setting this property is equivalent to calling Enable() or | |
| 110 | Disable(). | |
| 111 |    
 | |
| 442
by Teddy Hogeborn * DBUS-API: Document new "LastApprovalRequest" client property. | 112 | f) The time of the last approval request, as a RFC 3339 string, or | 
| 113 | an empty string if this has not happened. | |
| 114 |    
 | |
| 115 | g) The last time a checker was successful, as a RFC 3339 string, or | |
| 423
by Teddy Hogeborn Documentation changes: | 116 | an empty string if this has not happened. Setting this property | 
| 117 | is equivalent to calling CheckedOK(), i.e. the current time is | |
| 118 | set, regardless of the string sent. Please always use an empty | |
| 119 | string when setting this property, to allow for possible future | |
| 120 | expansion. | |
| 121 |    
 | |
| 442
by Teddy Hogeborn * DBUS-API: Document new "LastApprovalRequest" client property. | 122 | h) The last time this client was enabled, as a RFC 3339 string, or | 
| 423
by Teddy Hogeborn Documentation changes: | 123 | an empty string if this has not happened. | 
| 124 |    
 | |
| 442
by Teddy Hogeborn * DBUS-API: Document new "LastApprovalRequest" client property. | 125 | i) A raw byte array, not hexadecimal digits. | 
| 423
by Teddy Hogeborn Documentation changes: | 126 | |
| 127 | ** Signals | |
| 128 | *** CheckerCompleted(n: Exitcode, x: Waitstatus, s: Command) | |
| 129 | A checker (Command) has completed. Exitcode is either the exit | |
| 130 | code or -1 for abnormal exit. In any case, the full Waitstatus | |
| 131 | (as from wait(2)) is also available. | |
| 132 |     
 | |
| 133 | *** CheckerStarted(s: Command) | |
| 134 | A checker command (Command) has just been started. | |
| 135 |     
 | |
| 136 | *** GotSecret() | |
| 137 | This client has been sent its secret. | |
| 138 |     
 | |
| 139 | *** NeedApproval(t: Timeout, b: ApprovedByDefault) | |
| 140 | This client will be approved or denied in exactly Timeout | |
| 141 | milliseconds, depending on ApprovedByDefault. Approve() can now | |
| 142 | usefully be called on this client object. | |
| 143 | ||
| 144 | *** PropertyChanged(s: Property, v: Value) | |
| 145 | The Property on this client has changed to Value. | |
| 146 | ||
| 147 | *** Rejected(s: Reason) | |
| 148 | This client was not given its secret for a specified Reason. | |
| 149 | ||
| 444
by Teddy Hogeborn Update copyright year to "2010" wherever appropriate. | 150 | * Copyright | 
| 151 | ||
| 152 | Copyright © 2010 Teddy Hogeborn | |
| 153 | Copyright © 2010 Björn Påhlsson | |
| 154 |   
 | |
| 155 | ** License: | |
| 156 |    
 | |
| 157 | This program is free software: you can redistribute it and/or | |
| 158 | modify it under the terms of the GNU General Public License as | |
| 159 | published by the Free Software Foundation, either version 3 of the | |
| 160 | License, or (at your option) any later version. | |
| 161 | ||
| 162 | This program is distributed in the hope that it will be useful, but | |
| 163 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 164 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 165 | General Public License for more details. | |
| 166 | ||
| 167 | You should have received a copy of the GNU General Public License | |
| 168 | along with this program. If not, see | |
| 169 | <http://www.gnu.org/licenses/>. | |
| 170 | ||
| 423
by Teddy Hogeborn Documentation changes: | 171 | |
| 172 | #+STARTUP: showall |