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 |    
 | |
| 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 | | LastCheckedOK (f) | s | Read/Write | N/A | | |
| 93 | | LastEnabled (g) | s | Read | N/A | | |
| 94 | | Name | s | Read | (Section name) | | |
| 95 | | ObjectPath | o | Read | N/A | | |
| 96 | | Secret (h) | ay | Write | secret (or secfile) | | |
| 97 | | Timeout (a) | t | Read/Write | timeout | | |
| 98 |    
 | |
| 99 | a) Represented as milliseconds. | |
| 100 |    
 | |
| 101 | b) An approval is currently pending. | |
| 102 |    
 | |
| 103 | c) Setting this property is equivalent to calling StartChecker() or | |
| 104 | StopChecker(). | |
| 105 |    
 | |
| 106 | d) The creation time of this client object, as a RFC 3339 string. | |
| 107 |    
 | |
| 108 | e) Setting this property is equivalent to calling Enable() or | |
| 109 | Disable(). | |
| 110 |    
 | |
| 111 | f) The last time a checker was successful, as a RFC 3339 string, or | |
| 112 | an empty string if this has not happened. Setting this property | |
| 113 | is equivalent to calling CheckedOK(), i.e. the current time is | |
| 114 | set, regardless of the string sent. Please always use an empty | |
| 115 | string when setting this property, to allow for possible future | |
| 116 | expansion. | |
| 117 |    
 | |
| 118 | g) The last time this client was enabled, as a RFC 3339 string, or | |
| 119 | an empty string if this has not happened. | |
| 120 |    
 | |
| 121 | h) A raw byte array, not hexadecimal digits. | |
| 122 | ||
| 123 | ** Signals | |
| 124 | *** CheckerCompleted(n: Exitcode, x: Waitstatus, s: Command) | |
| 125 | A checker (Command) has completed. Exitcode is either the exit | |
| 126 | code or -1 for abnormal exit. In any case, the full Waitstatus | |
| 127 | (as from wait(2)) is also available. | |
| 128 |     
 | |
| 129 | *** CheckerStarted(s: Command) | |
| 130 | A checker command (Command) has just been started. | |
| 131 |     
 | |
| 132 | *** GotSecret() | |
| 133 | This client has been sent its secret. | |
| 134 |     
 | |
| 135 | *** NeedApproval(t: Timeout, b: ApprovedByDefault) | |
| 136 | This client will be approved or denied in exactly Timeout | |
| 137 | milliseconds, depending on ApprovedByDefault. Approve() can now | |
| 138 | usefully be called on this client object. | |
| 139 | ||
| 140 | *** PropertyChanged(s: Property, v: Value) | |
| 141 | The Property on this client has changed to Value. | |
| 142 | ||
| 143 | *** Rejected(s: Reason) | |
| 144 | This client was not given its secret for a specified Reason. | |
| 145 | ||
| 146 | ||
| 147 | #+STARTUP: showall |