/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-ctl.xml

  • Committer: Teddy Hogeborn
  • Date: 2019-03-30 07:03:04 UTC
  • Revision ID: teddy@recompile.se-20190330070304-dqgch62lsaaygg46
mandos-ctl: Refactor D-Bus operations

* mandos-ctl (dbus): Rename imported module to "dbus_python".
  (main): Only create a bus object and do everything via that object.
  (get_mandos_dbus_object): Remove and move code into dbus or
                            dbus_python_adapter namespaces.
  (if_dbus_exception_log_with_exception_and_exit): - '' -
  (SilenceLogger): - '' -
  (dbus): New; move everything dbus-specific into this module-like
          namespace.
  (dbus_python_adapter): New; move everything specific to the
                         dbus-python D-Bus module into this
                         module-like namespace.
  (command.Base.run): Take only a bus argument; use only that.  Pass
                      "client" argument as a D-Bus object path string,
                      not a dbus-python proxy object.  All derivatives
                      adjusted.
  (command.IsEnabled.is_enabled): Remove.
  (command.Approve, command.Deny, command.Remove,
  command.PropertySetter): Do no logging of D-Bus commands, and use
  only bus, not client, to do D-Bus calls.
  (command.DumpJSON.dbus_boolean_to_bool): Remove; move filtering to
                                           dbus_python_adapter.
  (command.Enable, command.Disable, command.StopChecker,
  command.ApproveByDefault): Use normal Python booleans instead of
  dbus-python's special Boolean types.
  (Unique): New; move here out from inside TestPropertySetterCmd.
  (Test_get_mandos_dbus_object): Remove.
  (Test_get_managed_objects): - '' -
  (Test_dbus_exceptions): New.
  (Test_dbus_MandosBus): - '' -
  (Test_dbus_python_adapter_SystemBus): - '' -
  (Test_dbus_python_adapter_CachingBus): - '' -
  (Test_commands_from_options): Don't create mock client proxy
  objects, define dict of client properties and use a mock dbus to
  verify that the correct D-Bus calls are made.  Also remove any types
  specific to dbus-python.
  (TestEnableCmd, TestDisableCmd, TestStartCheckerCmd,
  TestStopCheckerCmd, TestApproveByDefaultCmd, TestDenyByDefaultCmd):
  Use normal Python booleans instead of dbus-python's special Boolean
  types.
  (TestPropertySetterValueCmd.runTest): Remove; unnecessary.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY COMMANDNAME "mandos-ctl">
5
 
<!ENTITY TIMESTAMP "2017-02-23">
 
5
<!ENTITY TIMESTAMP "2019-03-09">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
39
39
      <year>2015</year>
40
40
      <year>2016</year>
41
41
      <year>2017</year>
 
42
      <year>2018</year>
 
43
      <year>2019</year>
42
44
      <holder>Teddy Hogeborn</holder>
43
45
      <holder>Björn Påhlsson</holder>
44
46
    </copyright>
60
62
  <refsynopsisdiv>
61
63
    <cmdsynopsis>
62
64
      <command>&COMMANDNAME;</command>
 
65
      <group>
 
66
          <arg choice="plain"><option>--verbose</option></arg>
 
67
          <arg choice="plain"><option>-v</option></arg>
 
68
          <sbr/>
 
69
          <arg choice="plain"><option>--dump-json</option></arg>
 
70
          <arg choice="plain"><option>-j</option></arg>
 
71
      </group>
 
72
      <arg><option>--debug</option></arg>
 
73
      <group>
 
74
        <arg rep='repeat' choice='plain'>
 
75
          <replaceable>CLIENT</replaceable>
 
76
        </arg>
 
77
      </group>
 
78
    </cmdsynopsis>
 
79
    <cmdsynopsis>
 
80
      <command>&COMMANDNAME;</command>
63
81
      <group choice="req">
64
82
        <group>
65
83
          <arg choice="plain"><option>--enable</option></arg>
76
94
        <sbr/>
77
95
        <group>
78
96
          <arg choice="plain"><option>--start-checker</option></arg>
79
 
        </group>
80
 
        <sbr/>
81
 
        <group>
82
97
          <arg choice="plain"><option>--stop-checker</option></arg>
83
98
        </group>
84
99
        <sbr/>
85
100
        <group>
86
 
          <arg choice="plain"><option>--remove</option></arg>
87
 
          <arg choice="plain"><option>-r</option></arg>
88
 
        </group>
89
 
        <sbr/>
90
 
        <group>
91
101
          <arg choice="plain"><option>--checker
92
102
          <replaceable>COMMAND</replaceable></option></arg>
93
103
          <arg choice="plain"><option>-c
131
141
        </group>
132
142
        <sbr/>
133
143
        <group>
134
 
          <arg choice="plain"><option>--interval
135
 
          <replaceable>TIME</replaceable></option></arg>
136
 
          <arg choice="plain"><option>-i
137
 
          <replaceable>TIME</replaceable></option></arg>
138
 
        </group>
139
 
        <sbr/>
140
 
        <group>
141
144
          <arg choice="plain"><option>--host
142
145
          <replaceable>STRING</replaceable></option></arg>
143
146
          <arg choice="plain"><option>-H
160
163
        </group>
161
164
      </group>
162
165
      <sbr/>
 
166
      <arg><option>--debug</option></arg>
163
167
      <group choice="req">
164
168
        <arg choice="plain"><option>--all</option></arg>
165
169
        <arg choice="plain"><option>-a</option></arg>
171
175
    <cmdsynopsis>
172
176
      <command>&COMMANDNAME;</command>
173
177
      <group>
174
 
          <arg choice="plain"><option>--verbose</option></arg>
175
 
          <arg choice="plain"><option>-v</option></arg>
176
 
          <sbr/>
177
 
          <arg choice="plain"><option>--dump-json</option></arg>
178
 
          <arg choice="plain"><option>-j</option></arg>
179
 
      </group>
180
 
      <group>
 
178
        <arg choice="plain"><option>--deny</option></arg>
 
179
        <arg choice="plain"><option>-D</option></arg>
 
180
      </group>
 
181
      <group choice="req">
 
182
          <arg choice="plain"><option>--remove</option></arg>
 
183
          <arg choice="plain"><option>-r</option></arg>
 
184
      </group>
 
185
      <sbr/>
 
186
      <arg><option>--debug</option></arg>
 
187
      <group choice="req">
 
188
        <arg choice="plain"><option>--all</option></arg>
 
189
        <arg choice="plain"><option>-a</option></arg>
181
190
        <arg rep='repeat' choice='plain'>
182
191
          <replaceable>CLIENT</replaceable>
183
192
        </arg>
189
198
        <arg choice="plain"><option>--is-enabled</option></arg>
190
199
        <arg choice="plain"><option>-V</option></arg>
191
200
      </group>
 
201
      <arg><option>--debug</option></arg>
192
202
      <arg choice='plain'><replaceable>CLIENT</replaceable></arg>
193
203
    </cmdsynopsis>
194
204
    <cmdsynopsis>
502
512
      </varlistentry>
503
513
      
504
514
      <varlistentry>
 
515
        <term><option>--debug</option></term>
 
516
        <listitem>
 
517
          <para>
 
518
            Show debug output; currently, this means show D-Bus calls.
 
519
          </para>
 
520
        </listitem>
 
521
      </varlistentry>
 
522
      
 
523
      <varlistentry>
505
524
        <term><option>--check</option></term>
506
525
        <listitem>
507
526
          <para>
579
598
      <para>
580
599
 
581
600
<!-- do not wrap this line -->
582
 
<userinput>&COMMANDNAME; --timeout="5m" --interval="1m" foo1.example.org foo2.example.org</userinput>
 
601
<userinput>&COMMANDNAME; --timeout="PT5M" --interval="PT1M" foo1.example.org foo2.example.org</userinput>
583
602
 
584
603
      </para>
585
604
    </informalexample>