/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 mandos

  • Committer: Teddy Hogeborn
  • Date: 2011-10-14 18:36:15 UTC
  • mfrom: (505.1.17 teddy)
  • Revision ID: teddy@recompile.se-20111014183615-xjmowtkz3ete2smd
Merge from Teddy:

Bug fixes: Make D-Bus properties settable again, and handle checkers
for disabled clients correctly.

* mandos (ClientDBus.notifychangeproperty/setter): Bug fix: pass
                                                   variant_level as a
                                                   keyword argument.
  (ClientDBus.Timeout_dbus_property): Bug fix: call function
                                      _timedelta_to_milliseconds in
                                      its new position as a global
                                      function.
  (Client.checked_ok): Bug fix: Handle disabled client.
* mandos-ctl (main): Bug fix: Handle empty strings correctly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
464
464
        if timeout is None:
465
465
            timeout = self.timeout
466
466
        self.last_checked_ok = datetime.datetime.utcnow()
467
 
        gobject.source_remove(self.disable_initiator_tag)
468
 
        self.disable_initiator_tag = (gobject.timeout_add
469
 
                                      (_timedelta_to_milliseconds
470
 
                                       (timeout), self.disable))
471
 
        self.expires = datetime.datetime.utcnow() + timeout
 
467
        if self.disable_initiator_tag is not None:
 
468
            gobject.source_remove(self.disable_initiator_tag)
 
469
        if getattr(self, "enabled", False):
 
470
            self.disable_initiator_tag = (gobject.timeout_add
 
471
                                          (_timedelta_to_milliseconds
 
472
                                           (timeout), self.disable))
 
473
            self.expires = datetime.datetime.utcnow() + timeout
472
474
    
473
475
    def need_approval(self):
474
476
        self.last_approval_request = datetime.datetime.utcnow()
891
893
        """ Modify a variable so that it's a property which announces
892
894
        its changes to DBus.
893
895
 
894
 
        transform_fun: Function that takes a value and transforms it
895
 
                       to a D-Bus type.
 
896
        transform_fun: Function that takes a value and a variant_level
 
897
                       and transforms it to a D-Bus type.
896
898
        dbus_name: D-Bus name of the variable
897
899
        type_func: Function that transform the value before sending it
898
900
                   to the D-Bus.  Default: no transform
905
907
                    type_func(getattr(self, attrname, None))
906
908
                    != type_func(value)):
907
909
                    dbus_value = transform_func(type_func(value),
908
 
                                                variant_level)
 
910
                                                variant_level
 
911
                                                =variant_level)
909
912
                    self.PropertyChanged(dbus.String(dbus_name),
910
913
                                         dbus_value)
911
914
            setattr(self, attrname, value)
1187
1190
        gobject.source_remove(self.disable_initiator_tag)
1188
1191
        self.disable_initiator_tag = None
1189
1192
        self.expires = None
1190
 
        time_to_die = (self.
1191
 
                       _timedelta_to_milliseconds((self
1192
 
                                                   .last_checked_ok
1193
 
                                                   + self.timeout)
1194
 
                                                  - datetime.datetime
1195
 
                                                  .utcnow()))
 
1193
        time_to_die = _timedelta_to_milliseconds((self
 
1194
                                                  .last_checked_ok
 
1195
                                                  + self.timeout)
 
1196
                                                 - datetime.datetime
 
1197
                                                 .utcnow())
1196
1198
        if time_to_die <= 0:
1197
1199
            # The timeout has passed
1198
1200
            self.disable()