/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 plugin-runner.xml

  • Committer: Teddy Hogeborn
  • Date: 2008-11-09 06:40:29 UTC
  • mto: (24.1.113 mandos)
  • mto: This revision was merged to the branch mainline in revision 238.
  • Revision ID: teddy@fukt.bsnet.se-20081109064029-df71jpoce308cq3v
First steps of a D-Bus interface to the server.

* mandos: Also import "dbus.service".
  (Client): Inherit from "dbus.service.Object", which is a new-style
            class, so inheriting from "object" is no longer necessary.
  (Client.interface): New temporary variable which only exists during
                     class definition.

  (Client.getName, Client.getFingerprint): New D-Bus getter methods.
  (Client.setSecret): New D-Bus setter method.
  (Client._set_timeout): Emit D-Bus signal "TimeoutChanged".
  (Client.getTimeout): New D-Bus getter method.
  (Client.TimeoutChanged): New D-Bus signal.
  (Client._set_interval): Emit D-Bus signal "IntervalChanged".
  (Client.getInterval): New D-Bus getter method.
  (Client.intervalChanged): New D-Bus signal.
  (Client.__init__): Also call "dbus.service.Object.__init__".
  (Client.started): New boolean attribute.
  (Client.start, Client.stop): Update "self.started", and emit D-Bus
                               signal "StateChanged".
  (Client.StateChanged): New D-Bus signal.
  (Client.stop): Use "self.started" instead of misusing "self.secret".
                 Also simplify code by using "getattr" instead of
                 "hasattr".
  (Client.checker_callback): Emit D-Bus signal "CheckerCompleted".
  (Client.CheckerCompleted): New D-Bus signal.
  (Client.bumpTimeout): D-Bus method name for "bump_timeout".
  (Client.start_checker): Emit D-Bus signal "CheckerStarted".
  (Client.CheckerStarted): New D-Bus signal.
  (Client.checkerIsRunning): New D-Bus method.
  (Client.StopChecker): D-Bus method name for "stop_checker".
  (Client.still_valid): First check "self.started".
  (Client.stillValid): D-Bus method name for "still_valid".

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 "plugin-runner">
5
 
<!ENTITY TIMESTAMP "2019-02-09">
 
5
<!ENTITY TIMESTAMP "2008-09-30">
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@recompile.se</email>
 
22
          <email>belorn@fukt.bsnet.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@recompile.se</email>
 
29
          <email>teddy@fukt.bsnet.se</email>
30
30
        </address>
31
31
      </author>
32
32
    </authorgroup>
33
33
    <copyright>
34
34
      <year>2008</year>
35
 
      <year>2009</year>
36
 
      <year>2010</year>
37
 
      <year>2011</year>
38
 
      <year>2012</year>
39
 
      <year>2013</year>
40
 
      <year>2014</year>
41
 
      <year>2015</year>
42
 
      <year>2016</year>
43
 
      <year>2017</year>
44
 
      <year>2018</year>
45
35
      <holder>Teddy Hogeborn</holder>
46
36
      <holder>Björn Påhlsson</holder>
47
37
    </copyright>
122
112
      <arg><option>--plugin-dir=<replaceable
123
113
      >DIRECTORY</replaceable></option></arg>
124
114
      <sbr/>
125
 
      <arg><option>--plugin-helper-dir=<replaceable
126
 
      >DIRECTORY</replaceable></option></arg>
127
 
      <sbr/>
128
115
      <arg><option>--config-file=<replaceable
129
116
      >FILE</replaceable></option></arg>
130
117
      <sbr/>
272
259
            Disable the plugin named
273
260
            <replaceable>PLUGIN</replaceable>.  The plugin will not be
274
261
            started.
275
 
          </para>
 
262
          </para>       
276
263
        </listitem>
277
264
      </varlistentry>
278
265
      
331
318
      </varlistentry>
332
319
      
333
320
      <varlistentry>
334
 
        <term><option>--plugin-helper-dir
335
 
        <replaceable>DIRECTORY</replaceable></option></term>
336
 
        <listitem>
337
 
          <para>
338
 
            Specify a different plugin helper directory.  The default
339
 
            is <filename>/lib/mandos/plugin-helpers</filename>, which
340
 
            will exist in the initial <acronym>RAM</acronym> disk
341
 
            environment.  (This will simply be passed to all plugins
342
 
            via the <envar>MANDOSPLUGINHELPERDIR</envar> environment
343
 
            variable.  See <xref linkend="writing_plugins"/>)
344
 
          </para>
345
 
        </listitem>
346
 
      </varlistentry>
347
 
      
348
 
      <varlistentry>
349
321
        <term><option>--config-file
350
322
        <replaceable>FILE</replaceable></option></term>
351
323
        <listitem>
452
424
      <para>
453
425
        The plugin will run in the initial RAM disk environment, so
454
426
        care must be taken not to depend on any files or running
455
 
        services not available there.  Any helper executables required
456
 
        by the plugin (which are not in the <envar>PATH</envar>) can
457
 
        be placed in the plugin helper directory, the name of which
458
 
        will be made available to the plugin via the
459
 
        <envar>MANDOSPLUGINHELPERDIR</envar> environment variable.
 
427
        services not available there.
460
428
      </para>
461
429
      <para>
462
430
        The plugin must exit cleanly and free all allocated resources
505
473
      only passes on its environment to all the plugins.  The
506
474
      environment passed to plugins can be modified using the
507
475
      <option>--global-env</option> and <option>--env-for</option>
508
 
      options.  Also, the <option>--plugin-helper-dir</option> option
509
 
      will affect the environment variable
510
 
      <envar>MANDOSPLUGINHELPERDIR</envar> for the plugins.
 
476
      options.
511
477
    </para>
512
478
  </refsect1>
513
479
  
546
512
            </para>
547
513
          </listitem>
548
514
        </varlistentry>
549
 
        <varlistentry>
550
 
          <term><filename class="directory"
551
 
          >/lib/mandos/plugins.d</filename></term>
552
 
          <listitem>
553
 
            <para>
554
 
              The default plugin directory; can be changed by the
555
 
              <option>--plugin-dir</option> option.
556
 
            </para>
557
 
          </listitem>
558
 
        </varlistentry>
559
 
        <varlistentry>
560
 
          <term><filename class="directory"
561
 
          >/lib/mandos/plugin-helpers</filename></term>
562
 
          <listitem>
563
 
            <para>
564
 
              The default plugin helper directory; can be changed by
565
 
              the <option>--plugin-helper-dir</option> option.
566
 
            </para>
567
 
          </listitem>
568
 
        </varlistentry>
569
515
      </variablelist>
570
516
    </para>
571
517
  </refsect1>
576
522
      The <option>--config-file</option> option is ignored when
577
523
      specified from within a configuration file.
578
524
    </para>
579
 
    <xi:include href="bugs.xml"/>
580
525
  </refsect1>
581
526
  
582
527
  <refsect1 id="examples">
625
570
    </informalexample>
626
571
    <informalexample>
627
572
      <para>
628
 
        Read a different configuration file, run plugins from a
629
 
        different directory, specify an alternate plugin helper
630
 
        directory and add two options to the
 
573
        Run plugins from a different directory, read a different
 
574
        configuration file, and add two options to the
631
575
        <citerefentry><refentrytitle >mandos-client</refentrytitle>
632
576
        <manvolnum>8mandos</manvolnum></citerefentry> plugin:
633
577
      </para>
634
578
      <para>
635
579
 
636
580
<!-- do not wrap this line -->
637
 
<userinput>cd /etc/keys/mandos; &COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/x86_64-linux-gnu/mandos/plugins.d --plugin-helper-dir /usr/lib/x86_64-linux-gnu/mandos/plugin-helpers --options-for=mandos-client:--pubkey=pubkey.txt,--seckey=seckey.txt,--tls-pubkey=tls-pubkey.pem,--tls-privkey=tls-privkey.pem</userinput>
 
581
<userinput>&COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/mandos/plugins.d --options-for=mandos-client:--pubkey=/etc/keys/mandos/pubkey.txt,--seckey=/etc/keys/mandos/seckey.txt</userinput>
638
582
 
639
583
      </para>
640
584
    </informalexample>
672
616
  <refsect1 id="see_also">
673
617
    <title>SEE ALSO</title>
674
618
    <para>
675
 
      <citerefentry><refentrytitle>intro</refentrytitle>
676
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
677
619
      <citerefentry><refentrytitle>cryptsetup</refentrytitle>
678
620
      <manvolnum>8</manvolnum></citerefentry>,
679
621
      <citerefentry><refentrytitle>crypttab</refentrytitle>