/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: 2024-09-09 04:24:39 UTC
  • Revision ID: teddy@recompile.se-20240909042439-j85mr20uli2hnyis
Eliminate compiler warnings

Many programs use nested functions, which now result in a linker
warning about executable stack.  Hide this warning.  Also, rewrite a
loop in the plymouth plugin to avoid warning about signed overflow.
This change also makes the plugin pick the alphabetically first
process entry instead of the last, in case many plymouth processes are
found (which should be unlikely).

* Makefile (plugin-runner, dracut-module/password-agent,
  plugins.d/password-prompt, plugins.d/mandos-client,
  plugins.d/plymouth): New target; set LDFLAGS to add "-Xlinker
  --no-warn-execstack".
* plugins.d/plymouth.c (get_pid): When no pid files are found, and we
  are looking through the process list, go though it from the start
  instead of from the end, i.e. in normal alphabetical order and not
  in reverse order.

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 "2017-02-23">
 
5
<!ENTITY TIMESTAMP "2023-04-30">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
41
41
      <year>2015</year>
42
42
      <year>2016</year>
43
43
      <year>2017</year>
 
44
      <year>2018</year>
 
45
      <year>2019</year>
44
46
      <holder>Teddy Hogeborn</holder>
45
47
      <holder>Björn Påhlsson</holder>
46
48
    </copyright>
421
423
    <title>PLUGINS</title>
422
424
    <para>
423
425
      This program will get a password by running a number of
424
 
      <firstterm>plugins</firstterm>, which are simply executable
425
 
      programs in a directory in the initial <acronym>RAM</acronym>
426
 
      disk environment.  The default directory is
 
426
      <firstterm>plugins</firstterm>, which are executable programs in
 
427
      a directory in the initial <acronym>RAM</acronym> disk
 
428
      environment.  The default directory is
427
429
      <filename>/lib/mandos/plugins.d</filename>, but this can be
428
430
      changed with the <option>--plugin-dir</option> option.  The
429
431
      plugins are started in parallel, and the first plugin to output
435
437
    <refsect2 id="writing_plugins">
436
438
      <title>WRITING PLUGINS</title>
437
439
      <para>
438
 
        A plugin is simply a program which prints a password to its
439
 
        standard output and then exits with a successful (zero) exit
440
 
        status.  If the exit status is not zero, any output on
 
440
        A plugin is an executable program which prints a password to
 
441
        its standard output and then exits with a successful (zero)
 
442
        exit status.  If the exit status is not zero, any output on
441
443
        standard output will be ignored by the plugin runner.  Any
442
444
        output on its standard error channel will simply be passed to
443
445
        the standard error of the plugin runner, usually the system
626
628
      <para>
627
629
        Read a different configuration file, run plugins from a
628
630
        different directory, specify an alternate plugin helper
629
 
        directory and add two options to the
 
631
        directory and add four options to the
630
632
        <citerefentry><refentrytitle >mandos-client</refentrytitle>
631
633
        <manvolnum>8mandos</manvolnum></citerefentry> plugin:
632
634
      </para>
633
635
      <para>
634
636
 
635
637
<!-- do not wrap this line -->
636
 
<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</userinput>
 
638
<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,&#x200b;--seckey=seckey.txt,&#x200b;--tls-pubkey=tls-pubkey.pem,&#x200b;--tls-privkey=tls-privkey.pem</userinput>
637
639
 
638
640
      </para>
639
641
    </informalexample>