/mandos/trunk

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

« back to all changes in this revision

Viewing changes to DBUS-API

  • Committer: Teddy Hogeborn
  • Date: 2014-08-10 14:13:02 UTC
  • Revision ID: teddy@recompile.se-20140810141302-8q1xaaxlh8ho5joz
Emit D-Bus "org.freedesktop.DBus.Properties.PropertiesChanged" signal.

This deprecates the "se.recompile.Mandos.Client.PropertyChanged"
signal.  The new signal also adds support for noticing changes to the
"se.recompile.Mandos.Client.Secret" write-only property.

* mandos (dbus_annotations): Fix usage example in doc string.
  (DBusObjectWithProperties.PropertiesChanged): New; from D-Bus
                                                standard.
  (ClientDBus._interface): Set early instead of later.
  (ClientDBus.notifychangeproperty): Take new "invalidate_only"
                                     parameter, and pass in _interface
                                     as a default keyword argument.
  (ClientDBus.notifychangeproperty/setter): Also emit
                                            PropertiesChanged signal;
                                            emit new value or
                                            invalidation depending on
                                            "invalidate_only".
  (ClientDBus.secret): Apply notifychangeproperty with
                       "invalidate_only=True".
  (ClientDBus._foo): Removed defunct interface annotation.
  (ClientDBus.PropertyChanged): Add annotation; this method is now
                                deprecated.
  (main/MandosDBusService.GetAllClientsWithProperties): Use dictionary
                                                        comprehension.
* DBUS-API (Mandos Client Interface/Signals/PropertyChanged): Removed.
* mandos-monitor: Use standard "PropertiesChanged" signal instead of
                  old signal "PropertyChanged".
  (MandosClientPropertyCache.__init__): Connect to signal
                                        PropertiesChanged instead of
                                        PropertyChanged.
  (MandosClientPropertyCache._property_changed): Removed.
  (MandosClientPropertyCache.property_changed): Renamed to
                                                "properties_changed"
                                                and adapted to new
                                                call signature.
  (MandosClientWidget.properties_changed): - '' -

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
This file documents the D-Bus interface to the Mandos server.
6
6
 
7
7
* Bus: System bus
8
 
  Bus name: "se.bsnet.fukt.Mandos"
 
8
  Bus name: "se.recompile.Mandos"
9
9
 
10
10
 
11
11
* Object Paths:
17
17
 
18
18
  
19
19
* Mandos Server Interface:
20
 
  Interface name: "se.bsnet.fukt.Mandos"
 
20
  Interface name: "se.recompile.Mandos"
21
21
  
22
22
** Methods:
23
23
*** GetAllClients() → (ao: Clients)
44
44
 
45
45
 
46
46
* Mandos Client Interface:
47
 
  Interface name: "se.bsnet.fukt.Mandos.Client"
 
47
  Interface name: "se.recompile.Mandos.Client"
48
48
  
49
49
** Methods
50
50
*** Approve(b: Approve) → nothing
87
87
   | Created (d)             | s    | Read       | N/A                 |
88
88
   | Enabled (e)             | b    | Read/Write | N/A                 |
89
89
   | Expires (f)             | s    | Read       | N/A                 |
 
90
   | ExtendedTimeout (a)     | t    | Read/Write | extended_timeout    |
90
91
   | Fingerprint             | s    | Read       | fingerprint         |
91
92
   | Host                    | s    | Read/Write | host                |
92
93
   | Interval (a)            | t    | Read/Write | interval            |
93
94
   | LastApprovalRequest (g) | s    | Read       | N/A                 |
94
95
   | LastCheckedOK (h)       | s    | Read/Write | N/A                 |
95
 
   | LastEnabled (i)         | s    | Read       | N/A                 |
 
96
   | LastCheckerStatus (i)   | n    | Read       | N/A                 |
 
97
   | LastEnabled (j)         | s    | Read       | N/A                 |
96
98
   | Name                    | s    | Read       | (Section name)      |
97
99
   | ObjectPath              | o    | Read       | N/A                 |
98
 
   | Secret (j)              | ay   | Write      | secret (or secfile) |
 
100
   | Secret (k)              | ay   | Write      | secret (or secfile) |
99
101
   | Timeout (a)             | t    | Read/Write | timeout             |
100
102
   
101
103
   a) Represented as milliseconds.
111
113
      Disable().
112
114
   
113
115
   f) The date and time this client will be disabled, as an RFC 3339
114
 
      string, or an empty string if this has not happened.
115
 
   
116
 
   g) The time of the last approval request, as an RFC 3339 string, or
117
 
      an empty string if this has not happened.
118
 
   
119
 
   h) The last time a checker was successful, as an RFC 3339 string,
120
 
      or an empty string if this has not happened.  Setting this
121
 
      property is equivalent to calling CheckedOK(), i.e. the current
122
 
      time is set, regardless of the string sent.  Please always use
123
 
      an empty string when setting this property, to allow for
124
 
      possible future expansion.
125
 
   
126
 
   i) The last time this client was enabled, as an RFC 3339 string, or
127
 
      an empty string if this has not happened.
128
 
   
129
 
   j) A raw byte array, not hexadecimal digits.
 
116
      string, or an empty string if this is not scheduled.
 
117
   
 
118
   g) The date and time of the last approval request, as an RFC 3339
 
119
      string, or an empty string if this has not happened.
 
120
   
 
121
   h) The date and time a checker was last successful, as an RFC 3339
 
122
      string, or an empty string if this has not happened.  Setting
 
123
      this property is equivalent to calling CheckedOK(), i.e. the
 
124
      current time is set, regardless of the string sent.  Please
 
125
      always use an empty string when setting this property, to allow
 
126
      for possible future expansion.
 
127
   
 
128
   i) The exit status of the last checker, -1 if it did not exit
 
129
      cleanly, -2 if a checker has not yet returned.
 
130
   
 
131
   j) The date and time this client was last enabled, as an RFC 3339
 
132
      string, or an empty string if this has not happened.
 
133
   
 
134
   k) A raw byte array, not hexadecimal digits.
130
135
 
131
136
** Signals
132
137
*** CheckerCompleted(n: Exitcode, x: Waitstatus, s: Command)
145
150
    milliseconds, depending on ApprovedByDefault.  Approve() can now
146
151
    usefully be called on this client object.
147
152
    
148
 
*** PropertyChanged(s: Property, v: Value)
149
 
    The Property on this client has changed to Value.
150
 
    
151
153
*** Rejected(s: Reason)
152
154
    This client was not given its secret for a specified Reason.
153
155
 
154
156
* Copyright
155
157
 
156
 
    Copyright © 2010-2011 Teddy Hogeborn
157
 
    Copyright © 2010-2011 Björn Påhlsson
 
158
    Copyright © 2010-2012 Teddy Hogeborn
 
159
    Copyright © 2010-2012 Björn Påhlsson
158
160
  
159
161
** License:
160
162