/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: 2015-08-10 07:34:37 UTC
  • 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:
1376
1376
        if exitstatus >= 0:
1377
1377
            # Emit D-Bus signal
1378
1378
            self.CheckerCompleted(dbus.Int16(exitstatus),
1379
 
                                  dbus.Int64(0),
 
1379
                                  # This is specific to GNU libC
 
1380
                                  dbus.Int64(exitstatus << 8),
1380
1381
                                  dbus.String(command))
1381
1382
        else:
1382
1383
            # Emit D-Bus signal
1383
1384
            self.CheckerCompleted(dbus.Int16(-1),
1384
1385
                                  dbus.Int64(
1385
 
                                      self.last_checker_signal),
 
1386
                                      # This is specific to GNU libC
 
1387
                                      (exitstatus << 8)
 
1388
                                      | self.last_checker_signal),
1386
1389
                                  dbus.String(command))
1387
1390
        return ret
1388
1391