/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-07 20:57:16 UTC
  • Revision ID: teddy@recompile.se-20190307205716-n1yj0lz23k143u0l
mandos-ctl: Refactor; extract syntax check to separate function

* mandos-ctl (check_option_syntax): New.
  (main): Call check_option_syntax().

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 "2010-09-25">
 
5
<!ENTITY TIMESTAMP "2019-03-06">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
19
19
        <firstname>Björn</firstname>
20
20
        <surname>Påhlsson</surname>
21
21
        <address>
22
 
          <email>belorn@fukt.bsnet.se</email>
 
22
          <email>belorn@recompile.se</email>
23
23
        </address>
24
24
      </author>
25
25
      <author>
26
26
        <firstname>Teddy</firstname>
27
27
        <surname>Hogeborn</surname>
28
28
        <address>
29
 
          <email>teddy@fukt.bsnet.se</email>
 
29
          <email>teddy@recompile.se</email>
30
30
        </address>
31
31
      </author>
32
32
    </authorgroup>
33
33
    <copyright>
34
34
      <year>2010</year>
 
35
      <year>2011</year>
 
36
      <year>2012</year>
 
37
      <year>2013</year>
 
38
      <year>2014</year>
 
39
      <year>2015</year>
 
40
      <year>2016</year>
 
41
      <year>2017</year>
 
42
      <year>2018</year>
 
43
      <year>2019</year>
35
44
      <holder>Teddy Hogeborn</holder>
36
45
      <holder>Björn Påhlsson</holder>
37
46
    </copyright>
46
55
  <refnamediv>
47
56
    <refname><command>&COMMANDNAME;</command></refname>
48
57
    <refpurpose>
49
 
      Control the operation of the Mandos server
 
58
      Control or query the operation of the Mandos server
50
59
    </refpurpose>
51
60
  </refnamediv>
52
61
  
53
62
  <refsynopsisdiv>
54
63
    <cmdsynopsis>
55
64
      <command>&COMMANDNAME;</command>
56
 
      <group>
57
 
        <arg choice="plain"><option>--enable</option></arg>
58
 
        <arg choice="plain"><option>-e</option></arg>
59
 
        <sbr/>
60
 
        <arg choice="plain"><option>--disable</option></arg>
61
 
        <arg choice="plain"><option>-d</option></arg>
62
 
      </group>
63
 
      <sbr/>
64
 
      <group>
65
 
        <arg choice="plain"><option>--bump-timeout</option></arg>
66
 
        <arg choice="plain"><option>-b</option></arg>
67
 
      </group>
68
 
      <sbr/>
69
 
      <group>
70
 
        <arg choice="plain"><option>--start-checker</option></arg>
71
 
      </group>
72
 
      <sbr/>
73
 
      <group>
74
 
        <arg choice="plain"><option>--stop-checker</option></arg>
75
 
      </group>
76
 
      <sbr/>
77
 
      <group>
78
 
        <arg choice="plain"><option>--remove</option></arg>
79
 
        <arg choice="plain"><option>-r</option></arg>
80
 
      </group>
81
 
      <sbr/>
82
 
      <group>
83
 
        <arg choice="plain"><option>--checker
84
 
        <replaceable>COMMAND</replaceable></option></arg>
85
 
        <arg choice="plain"><option>-c
86
 
        <replaceable>COMMAND</replaceable></option></arg>
87
 
      </group>
88
 
      <sbr/>
89
 
      <group>
90
 
        <arg choice="plain"><option>--timeout
91
 
        <replaceable>TIME</replaceable></option></arg>
92
 
        <arg choice="plain"><option>-t
93
 
        <replaceable>TIME</replaceable></option></arg>
94
 
      </group>
95
 
      <sbr/>
96
 
      <group>
97
 
        <arg choice="plain"><option>--interval
98
 
        <replaceable>TIME</replaceable></option></arg>
99
 
        <arg choice="plain"><option>-i
100
 
        <replaceable>TIME</replaceable></option></arg>
101
 
      </group>
102
 
      <sbr/>
103
 
      <group>
104
 
        <arg choice="plain"><option>--host
105
 
        <replaceable>STRING</replaceable></option></arg>
106
 
        <arg choice="plain"><option>-H
107
 
        <replaceable>STRING</replaceable></option></arg>
108
 
      </group>
109
 
      <sbr/>
110
 
      <group>
111
 
        <arg choice="plain"><option>--secret
112
 
        <replaceable>FILENAME</replaceable></option></arg>
113
 
        <arg choice="plain"><option>-s
114
 
        <replaceable>FILENAME</replaceable></option></arg>
115
 
      </group>
116
 
      <sbr/>
117
 
      <group>
118
 
        <arg choice="plain"><option>--approve</option></arg>
119
 
        <arg choice="plain"><option>-A</option></arg>
120
 
        <sbr/>
121
 
        <arg choice="plain"><option>--deny</option></arg>
122
 
        <arg choice="plain"><option>-D</option></arg>
 
65
      <group choice="req">
 
66
        <group>
 
67
          <arg choice="plain"><option>--enable</option></arg>
 
68
          <arg choice="plain"><option>-e</option></arg>
 
69
          <sbr/>
 
70
          <arg choice="plain"><option>--disable</option></arg>
 
71
          <arg choice="plain"><option>-d</option></arg>
 
72
        </group>
 
73
        <sbr/>
 
74
        <group>
 
75
          <arg choice="plain"><option>--bump-timeout</option></arg>
 
76
          <arg choice="plain"><option>-b</option></arg>
 
77
        </group>
 
78
        <sbr/>
 
79
        <group>
 
80
          <arg choice="plain"><option>--start-checker</option></arg>
 
81
        </group>
 
82
        <sbr/>
 
83
        <group>
 
84
          <arg choice="plain"><option>--stop-checker</option></arg>
 
85
        </group>
 
86
        <sbr/>
 
87
        <group>
 
88
          <arg choice="plain"><option>--remove</option></arg>
 
89
          <arg choice="plain"><option>-r</option></arg>
 
90
        </group>
 
91
        <sbr/>
 
92
        <group>
 
93
          <arg choice="plain"><option>--checker
 
94
          <replaceable>COMMAND</replaceable></option></arg>
 
95
          <arg choice="plain"><option>-c
 
96
          <replaceable>COMMAND</replaceable></option></arg>
 
97
        </group>
 
98
        <sbr/>
 
99
        <group>
 
100
          <arg choice="plain"><option>--timeout
 
101
          <replaceable>TIME</replaceable></option></arg>
 
102
          <arg choice="plain"><option>-t
 
103
          <replaceable>TIME</replaceable></option></arg>
 
104
        </group>
 
105
        <sbr/>
 
106
        <group>
 
107
          <arg choice="plain"><option>--extended-timeout
 
108
          <replaceable>TIME</replaceable></option></arg>
 
109
        </group>
 
110
        <sbr/>
 
111
        <group>
 
112
          <arg choice="plain"><option>--interval
 
113
          <replaceable>TIME</replaceable></option></arg>
 
114
          <arg choice="plain"><option>-i
 
115
          <replaceable>TIME</replaceable></option></arg>
 
116
        </group>
 
117
        <sbr/>
 
118
        <group>
 
119
          <arg choice="plain"><option>--approve-by-default</option
 
120
          ></arg>
 
121
          <sbr/>
 
122
          <arg choice="plain"><option>--deny-by-default</option></arg>
 
123
        </group>
 
124
        <sbr/>
 
125
        <group>
 
126
          <arg choice="plain"><option>--approval-delay
 
127
          <replaceable>TIME</replaceable></option></arg>
 
128
        </group>
 
129
        <sbr/>
 
130
        <group>
 
131
          <arg choice="plain"><option>--approval-duration
 
132
          <replaceable>TIME</replaceable></option></arg>
 
133
        </group>
 
134
        <sbr/>
 
135
        <group>
 
136
          <arg choice="plain"><option>--host
 
137
          <replaceable>STRING</replaceable></option></arg>
 
138
          <arg choice="plain"><option>-H
 
139
          <replaceable>STRING</replaceable></option></arg>
 
140
        </group>
 
141
        <sbr/>
 
142
        <group>
 
143
          <arg choice="plain"><option>--secret
 
144
          <replaceable>FILENAME</replaceable></option></arg>
 
145
          <arg choice="plain"><option>-s
 
146
          <replaceable>FILENAME</replaceable></option></arg>
 
147
        </group>
 
148
        <sbr/>
 
149
        <group>
 
150
          <arg choice="plain"><option>--approve</option></arg>
 
151
          <arg choice="plain"><option>-A</option></arg>
 
152
          <sbr/>
 
153
          <arg choice="plain"><option>--deny</option></arg>
 
154
          <arg choice="plain"><option>-D</option></arg>
 
155
        </group>
123
156
      </group>
124
157
      <sbr/>
125
158
      <group choice="req">
133
166
    <cmdsynopsis>
134
167
      <command>&COMMANDNAME;</command>
135
168
      <group>
136
 
        <arg choice="plain"><option>--verbose</option></arg>
137
 
        <arg choice="plain"><option>-v</option></arg>
 
169
          <arg choice="plain"><option>--verbose</option></arg>
 
170
          <arg choice="plain"><option>-v</option></arg>
 
171
          <sbr/>
 
172
          <arg choice="plain"><option>--dump-json</option></arg>
 
173
          <arg choice="plain"><option>-j</option></arg>
138
174
      </group>
139
175
      <group>
140
176
        <arg rep='repeat' choice='plain'>
164
200
        <arg choice="plain"><option>-v</option></arg>
165
201
      </group>
166
202
    </cmdsynopsis>
 
203
    <cmdsynopsis>
 
204
      <command>&COMMANDNAME;</command>
 
205
      <arg choice="plain"><option>--check</option></arg>
 
206
    </cmdsynopsis>
167
207
  </refsynopsisdiv>
168
208
  
169
209
  <refsect1 id="description">
170
210
    <title>DESCRIPTION</title>
171
211
    <para>
172
 
      <command>&COMMANDNAME;</command> is a program to control the
173
 
      operation of the Mandos server <citerefentry><refentrytitle
174
 
      >mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
 
212
      <command>&COMMANDNAME;</command> is a program to control or
 
213
      query the operation of the Mandos server
 
214
      <citerefentry><refentrytitle>mandos</refentrytitle><manvolnum
 
215
      >8</manvolnum></citerefentry>.
175
216
    </para>
176
217
    <para>
177
218
      This program can be used to change client settings, approve or
273
314
          <para>
274
315
            Set the <varname>checker</varname> option of the specified
275
316
            client(s); see <citerefentry><refentrytitle
276
 
            >mandos-client.conf</refentrytitle><manvolnum>5</manvolnum
277
 
            ></citerefentry>.
 
317
            >mandos-clients.conf</refentrytitle><manvolnum
 
318
            >5</manvolnum></citerefentry>.
278
319
          </para>
279
320
        </listitem>
280
321
      </varlistentry>
288
329
          <para>
289
330
            Set the <varname>timeout</varname> option of the specified
290
331
            client(s); see <citerefentry><refentrytitle
291
 
            >mandos-client.conf</refentrytitle><manvolnum>5</manvolnum
292
 
            ></citerefentry>.
 
332
            >mandos-clients.conf</refentrytitle><manvolnum
 
333
            >5</manvolnum></citerefentry>.
 
334
          </para>
 
335
        </listitem>
 
336
      </varlistentry>
 
337
 
 
338
      <varlistentry>
 
339
        <term><option>--extended-timeout
 
340
        <replaceable>TIME</replaceable></option></term>
 
341
        <listitem>
 
342
          <para>
 
343
            Set the <varname>extended_timeout</varname> option of the
 
344
            specified client(s); see <citerefentry><refentrytitle
 
345
            >mandos-clients.conf</refentrytitle><manvolnum
 
346
            >5</manvolnum></citerefentry>.
293
347
          </para>
294
348
        </listitem>
295
349
      </varlistentry>
301
355
        <replaceable>TIME</replaceable></option></term>
302
356
        <listitem>
303
357
          <para>
304
 
            Set the <varname>interval</varname> option of the specified
305
 
            client(s); see <citerefentry><refentrytitle
306
 
            >mandos-client.conf</refentrytitle><manvolnum>5</manvolnum
307
 
            ></citerefentry>.
 
358
            Set the <varname>interval</varname> option of the
 
359
            specified client(s); see <citerefentry><refentrytitle
 
360
            >mandos-clients.conf</refentrytitle><manvolnum
 
361
            >5</manvolnum></citerefentry>.
 
362
          </para>
 
363
        </listitem>
 
364
      </varlistentry>
 
365
      
 
366
      <varlistentry>
 
367
        <term><option>--approve-by-default</option></term>
 
368
        <term><option>--deny-by-default</option></term>
 
369
        <listitem>
 
370
          <para>
 
371
            Set the <varname>approved_by_default</varname> option of
 
372
            the specified client(s) to <literal>True</literal> or
 
373
            <literal>False</literal>, respectively; see
 
374
            <citerefentry><refentrytitle
 
375
            >mandos-clients.conf</refentrytitle><manvolnum
 
376
            >5</manvolnum></citerefentry>.
 
377
          </para>
 
378
        </listitem>
 
379
      </varlistentry>
 
380
      
 
381
      <varlistentry>
 
382
        <term><option>--approval-delay
 
383
        <replaceable>TIME</replaceable></option></term>
 
384
        <listitem>
 
385
          <para>
 
386
            Set the <varname>approval_delay</varname> option of the
 
387
            specified client(s); see <citerefentry><refentrytitle
 
388
            >mandos-clients.conf</refentrytitle><manvolnum
 
389
            >5</manvolnum></citerefentry>.
 
390
          </para>
 
391
        </listitem>
 
392
      </varlistentry>
 
393
      
 
394
      <varlistentry>
 
395
        <term><option>--approval-duration
 
396
        <replaceable>TIME</replaceable></option></term>
 
397
        <listitem>
 
398
          <para>
 
399
            Set the <varname>approval_duration</varname> option of the
 
400
            specified client(s); see <citerefentry><refentrytitle
 
401
            >mandos-clients.conf</refentrytitle><manvolnum
 
402
            >5</manvolnum></citerefentry>.
308
403
          </para>
309
404
        </listitem>
310
405
      </varlistentry>
318
413
          <para>
319
414
            Set the <varname>host</varname> option of the specified
320
415
            client(s); see <citerefentry><refentrytitle
321
 
            >mandos-client.conf</refentrytitle><manvolnum>5</manvolnum
322
 
            ></citerefentry>.
 
416
            >mandos-clients.conf</refentrytitle><manvolnum
 
417
            >5</manvolnum></citerefentry>.
323
418
          </para>
324
419
        </listitem>
325
420
      </varlistentry>
333
428
          <para>
334
429
            Set the <varname>secfile</varname> option of the specified
335
430
            client(s); see <citerefentry><refentrytitle
336
 
            >mandos-client.conf</refentrytitle><manvolnum>5</manvolnum
337
 
            ></citerefentry>.
 
431
            >mandos-clients.conf</refentrytitle><manvolnum
 
432
            >5</manvolnum></citerefentry>.
338
433
          </para>
339
434
        </listitem>
340
435
      </varlistentry>
381
476
      </varlistentry>
382
477
      
383
478
      <varlistentry>
 
479
        <term><option>--dump-json</option></term>
 
480
        <term><option>-j</option></term>
 
481
        <listitem>
 
482
          <para>
 
483
            Dump client settings as JSON to standard output.
 
484
          </para>
 
485
        </listitem>
 
486
      </varlistentry>
 
487
      
 
488
      <varlistentry>
384
489
        <term><option>--is-enabled</option></term>
385
490
        <term><option>-V</option></term>
386
491
        <listitem>
391
496
        </listitem>
392
497
      </varlistentry>
393
498
      
 
499
      <varlistentry>
 
500
        <term><option>--check</option></term>
 
501
        <listitem>
 
502
          <para>
 
503
            Run self-tests.  This includes any unit tests, etc.
 
504
          </para>
 
505
        </listitem>
 
506
      </varlistentry>
 
507
      
394
508
    </variablelist>
395
509
  </refsect1>
396
510
  
412
526
    </para>
413
527
  </refsect1>
414
528
  
415
 
<!--   <refsect1 id="bugs"> -->
416
 
<!--     <title>BUGS</title> -->
417
 
<!--     <para> -->
418
 
<!--     </para> -->
419
 
<!--   </refsect1> -->
 
529
  <refsect1 id="bugs">
 
530
    <title>BUGS</title>
 
531
    <xi:include href="bugs.xml"/>
 
532
  </refsect1>
420
533
  
421
534
  <refsect1 id="example">
422
535
    <title>EXAMPLE</title>
471
584
        To approve all clients currently waiting for it:
472
585
      </para>
473
586
      <para>
474
 
 
475
 
<!-- do not wrap this line -->
476
 
<userinput>&COMMANDNAME; --approve --all</userinput>
477
 
 
 
587
        <userinput>&COMMANDNAME; --approve --all</userinput>
478
588
      </para>
479
589
    </informalexample>
480
590
  </refsect1>
491
601
  <refsect1 id="see_also">
492
602
    <title>SEE ALSO</title>
493
603
    <para>
 
604
      <citerefentry><refentrytitle>intro</refentrytitle>
 
605
      <manvolnum>8mandos</manvolnum></citerefentry>,
494
606
      <citerefentry><refentrytitle>mandos</refentrytitle>
495
607
      <manvolnum>8</manvolnum></citerefentry>,
496
608
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>