/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to DBUS-API

  • Committer: Teddy Hogeborn
  • Date: 2015-08-10 07:34:37 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 325.
  • Revision ID: teddy@recompile.se-20150810073437-3m8jgt13nqric6vf
Revert change to D-Bus API.

The D-Bus API signal CheckerCompleted is documented to provide a
wait(2) status value.  Since the server switched to using subprocess
to run checkers, it no longer has access to a wait(2) status value.  A
previous change to work around this made the D-Bus API incompatible.
Revert this change by constructing a fake wait(2) status value; this
keeps the D-Bus API stable.

* DBUS-API (CheckerCompleted): Revert incompatible change.
* mandos (ClientDBus.checker_callback): Construct fake wait(2) status.
* mandos-monitor (MandosClientWidget.checker_completed): Revert to
                                                         using
                                                         original API
                                                         with wait(2)
                                                         condition
                                                         value.

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
  | Path                  | Object            |
14
14
  |-----------------------+-------------------|
15
15
  | "/"                   | The Mandos Server |
16
 
 
17
 
  (To get a list of paths to client objects, use the standard D-Bus
18
 
  org.freedesktop.DBus.ObjectManager interface, which the server
19
 
  object supports.)
20
 
 
21
 
 
 
16
  | "/clients/CLIENTNAME" | Mandos Client     |
 
17
 
 
18
  
22
19
* Mandos Server Interface:
23
20
  Interface name: "se.recompile.Mandos"
24
21
  
25
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
   
26
29
*** RemoveClient(o: ObjectPath) → nothing
27
30
    Removes a client
28
31
   
29
32
** Signals:
30
 
*** ClientNotFound(s: KeyID, s: Address)
31
 
    A client connected from Address using KeyID, but was
32
 
    rejected because it was not found in the server.  The key ID
 
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
33
39
    is represented as a string of hexadecimal digits.  The address is
34
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.
35
44
 
36
45
 
37
46
* Mandos Client Interface:
66
75
   | Expires (f)             | s    | Read       | N/A                 |
67
76
   | ExtendedTimeout (a)     | t    | Read/Write | extended_timeout    |
68
77
   | Fingerprint             | s    | Read       | fingerprint         |
69
 
   | KeyID                   | s    | Read       | key_id              |
70
78
   | Host                    | s    | Read/Write | host                |
71
79
   | Interval (a)            | t    | Read/Write | interval            |
72
80
   | LastApprovalRequest (g) | s    | Read       | N/A                 |
131
139
 
132
140
* Copyright
133
141
 
134
 
    Copyright © 2010-2019 Teddy Hogeborn
135
 
    Copyright © 2010-2019 Björn Påhlsson
 
142
    Copyright © 2010-2015 Teddy Hogeborn
 
143
    Copyright © 2010-2015 Björn Påhlsson
136
144
  
137
145
** License:
138
 
 
139
 
   This file is part of Mandos.
140
 
 
141
 
   Mandos is free software: you can redistribute it and/or modify it
142
 
   under the terms of the GNU General Public License as published by
143
 
   the Free Software Foundation, either version 3 of the License, or
144
 
   (at your option) any later version.
145
 
 
146
 
   Mandos is distributed in the hope that it will be useful, but
 
146
   
 
147
   This program is free software: you can redistribute it and/or
 
148
   modify it under the terms of the GNU General Public License as
 
149
   published by the Free Software Foundation, either version 3 of the
 
150
   License, or (at your option) any later version.
 
151
 
 
152
   This program is distributed in the hope that it will be useful, but
147
153
   WITHOUT ANY WARRANTY; without even the implied warranty of
148
154
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
149
155
   General Public License for more details.
150
156
 
151
157
   You should have received a copy of the GNU General Public License
152
 
   along with Mandos.  If not, see <http://www.gnu.org/licenses/>.
 
158
   along with this program.  If not, see
 
159
   <http://www.gnu.org/licenses/>.
153
160
 
154
161
 
155
162
#+STARTUP: showall