/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: Björn Påhlsson
  • Date: 2011-10-15 16:09:25 UTC
  • mfrom: (517 trunk)
  • mto: (237.4.29 release)
  • mto: This revision was merged to the branch mainline in revision 518.
  • Revision ID: belorn@fukt.bsnet.se-20111015160925-0d3ymc0nelf73586
merge from trunk

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()
1428
1430
                    sent_size += sent
1429
1431
                
1430
1432
                logger.info("Sending secret to %s", client.name)
1431
 
                # bump the timeout as if seen
 
1433
                # bump the timeout using extended_timeout
1432
1434
                client.checked_ok(client.extended_timeout)
1433
1435
                if self.server.use_dbus:
1434
1436
                    # Emit D-Bus signal
1661
1663
                                       for cond, name in
1662
1664
                                       condition_names.iteritems()
1663
1665
                                       if cond & condition)
1664
 
        # error or the other end of multiprocessing.Pipe has closed
 
1666
        # error, or the other end of multiprocessing.Pipe has closed
1665
1667
        if condition & (gobject.IO_ERR | condition & gobject.IO_HUP):
 
1668
            # Wait for other process to exit
1666
1669
            proc.join()
1667
1670
            return False
1668
1671