/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 plugins.d/askpass-fifo.xml

  • Committer: Teddy Hogeborn
  • Date: 2024-09-09 01:36:41 UTC
  • Revision ID: teddy@recompile.se-20240909013641-6zu6kx2f7meu134k
Make all required directories when installing

When installing into a normal system, one can assume that target
directories, such as /usr/bin, already exists.  But when installing
into a subdirectory for the purpose of creating a package, one cannot
assume that all directories already exist.  Therefore, when
installing, we must not check if any directories exist, and must
instead always create any directories we want to install into.

* Makefile (confdir/mandos.conf, confdir/clients.conf, install-html):
  Use the "-D" option to "install" instead of creating the directory
  separately.
  (install-server): Move creation of $(CONFDIR) down to before it is
  needed.  Don't check if the $(TMPFILES) or $(SYSUSERS) directories
  exist; instead create them by using the "-D" option to "install".
  Create the $(PREFIX)/sbin directory.  Always use
  "--target-directory" if possible; i.e. if the file name is the same.
  Create the $(DBUSPOLICYDIR) and $(DESTDIR)/etc/init.d directories by
  using the "-D" option to "install".  Don't check if the $(SYSTEMD)
  directory exists; instead create it by using the "-D" option to
  "install".  Create the $(DESTDIR)/etc/default and $(MANDIR)/man8
  directories by using the "-D" option to "install".  Create the
  $(MANDIR)/man5 directories explicitly.
  (install-client-nokey): Remove unnecessary creation of the
  $(CONFDIR) directory.  Don't check if the $(SYSUSERS) directory
  exists; instead create it by using the "-D" option to "install".
  Move the "--directory" argument to be the first argument, for
  clarity.  Create the $(PREFIX)/sbin directory.  Use the "-D"
  argument to "install" when installing
  $(INITRAMFSTOOLS)/hooks/mandos,
  $(INITRAMFSTOOLS)/conf.d/mandos-conf,
  $(INITRAMFSTOOLS)/conf-hooks.d/zz-mandos,
  $(INITRAMFSTOOLS)/scripts/init-premount/mandos,
  $(INITRAMFSTOOLS)/scripts/local-premount/mandos,
  $(DRACUTMODULE)/ask-password-mandos.path, and
  $(DRACUTMODULE)/dracut-module/ask-password-mandos.service.  Create
  the $(MANDIR)/man8 directory.

Reported-By: Erich Eckner <erich@eckner.net>
Thanks: Erich Eckner <erich@eckner.net> for analysis

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 
4
<!ENTITY COMMANDNAME "askpass-fifo">
 
5
<!ENTITY TIMESTAMP "2019-02-10">
 
6
<!ENTITY % common SYSTEM "../common.ent">
 
7
%common;
 
8
]>
 
9
 
 
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
 
11
  <refentryinfo>
 
12
    <title>Mandos Manual</title>
 
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
 
14
    <productname>Mandos</productname>
 
15
    <productnumber>&version;</productnumber>
 
16
    <date>&TIMESTAMP;</date>
 
17
    <authorgroup>
 
18
      <author>
 
19
        <firstname>Björn</firstname>
 
20
        <surname>Påhlsson</surname>
 
21
        <address>
 
22
          <email>belorn@recompile.se</email>
 
23
        </address>
 
24
      </author>
 
25
      <author>
 
26
        <firstname>Teddy</firstname>
 
27
        <surname>Hogeborn</surname>
 
28
        <address>
 
29
          <email>teddy@recompile.se</email>
 
30
        </address>
 
31
      </author>
 
32
    </authorgroup>
 
33
    <copyright>
 
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
      <year>2019</year>
 
46
      <holder>Teddy Hogeborn</holder>
 
47
      <holder>Björn Påhlsson</holder>
 
48
    </copyright>
 
49
  </refentryinfo>
 
50
  
 
51
  <refmeta>
 
52
    <refentrytitle>&COMMANDNAME;</refentrytitle>
 
53
    <manvolnum>8mandos</manvolnum>
 
54
  </refmeta>
 
55
  
 
56
  <refnamediv>
 
57
    <refname><command>&COMMANDNAME;</command></refname>
 
58
    <refpurpose>Mandos plugin to get a password from a
 
59
    FIFO.</refpurpose>
 
60
  </refnamediv>
 
61
  
 
62
  <refsynopsisdiv>
 
63
    <cmdsynopsis>
 
64
      <command>&COMMANDNAME;</command>
 
65
    </cmdsynopsis>
 
66
  </refsynopsisdiv>
 
67
  
 
68
  <refsect1 id="description">
 
69
    <title>DESCRIPTION</title>
 
70
    <para>
 
71
      This program reads a password from a <acronym>FIFO</acronym> and
 
72
      outputs it to standard output.
 
73
    </para>
 
74
    <para>
 
75
      This program is not very useful on its own.  This program is
 
76
      really meant to run as a plugin in the <application
 
77
      >Mandos</application> client-side system, where it is used as a
 
78
      fallback and alternative to retrieving passwords from a
 
79
      <application >Mandos</application> server.
 
80
    </para>
 
81
    <para>
 
82
      This program is meant to be imitate a feature of the
 
83
      <command>askpass</command> program, so that programs written to
 
84
      interface with it can keep working under the
 
85
      <application>Mandos</application> system.
 
86
    </para>
 
87
  </refsect1>
 
88
  
 
89
  <refsect1 id="options">
 
90
    <title>OPTIONS</title>
 
91
    <para>
 
92
      This program takes no options.
 
93
    </para>
 
94
  </refsect1>
 
95
  
 
96
  <refsect1 id="exit_status">
 
97
    <title>EXIT STATUS</title>
 
98
    <para>
 
99
      If exit status is 0, the output from the program is the password
 
100
      as it was read.  Otherwise, if exit status is other than 0, the
 
101
      program was interrupted or encountered an error, and any output
 
102
      so far could be corrupt and/or truncated, and should therefore
 
103
      be ignored.
 
104
    </para>
 
105
  </refsect1>
 
106
  
 
107
  <refsect1 id="files">
 
108
    <title>FILES</title>
 
109
    <variablelist>
 
110
      <varlistentry>
 
111
        <term><filename>/lib/cryptsetup/passfifo</filename></term>
 
112
        <listitem>
 
113
          <para>
 
114
            This is the <acronym>FIFO</acronym> where this program
 
115
            will read the password.  If it does not exist, it will be
 
116
            created.
 
117
          </para>
 
118
        </listitem>
 
119
      </varlistentry>
 
120
    </variablelist>
 
121
  </refsect1>
 
122
  
 
123
  <refsect1 id="bugs">
 
124
    <title>BUGS</title>
 
125
    <xi:include href="../bugs.xml"/>
 
126
  </refsect1>
 
127
  
 
128
  <refsect1 id="example">
 
129
    <title>EXAMPLE</title>
 
130
    <para>
 
131
      Note that normally, this program will not be invoked directly,
 
132
      but instead started by the Mandos <citerefentry><refentrytitle
 
133
      >plugin-runner</refentrytitle><manvolnum>8mandos</manvolnum>
 
134
      </citerefentry>.
 
135
    </para>
 
136
    <informalexample>
 
137
      <para>
 
138
        This program takes no options.
 
139
      </para>
 
140
      <para>
 
141
        <userinput>&COMMANDNAME;</userinput>
 
142
      </para>
 
143
    </informalexample>
 
144
  </refsect1>
 
145
  
 
146
  <refsect1 id="security">
 
147
    <title>SECURITY</title>
 
148
    <para>
 
149
      The only thing that could be considered worthy of note is
 
150
      this:  This program is meant to be run by <citerefentry>
 
151
      <refentrytitle>plugin-runner</refentrytitle><manvolnum
 
152
      >8mandos</manvolnum></citerefentry>, and will, when run
 
153
      standalone, outside, in a normal environment, immediately output
 
154
      on its standard output any presumably secret password it just
 
155
      received.  Therefore, when running this program standalone
 
156
      (which should never normally be done), take care not to type in
 
157
      any real secret password by force of habit, since it would then
 
158
      immediately be shown as output.
 
159
    </para>
 
160
  </refsect1>
 
161
  
 
162
  <refsect1 id="see_also">
 
163
    <title>SEE ALSO</title>
 
164
    <para>
 
165
      <citerefentry><refentrytitle>intro</refentrytitle>
 
166
      <manvolnum>8mandos</manvolnum></citerefentry>,
 
167
      <citerefentry><refentrytitle>fifo</refentrytitle>
 
168
      <manvolnum>7</manvolnum></citerefentry>,
 
169
      <citerefentry><refentrytitle>plugin-runner</refentrytitle>
 
170
      <manvolnum>8mandos</manvolnum></citerefentry>
 
171
    </para>
 
172
  </refsect1>
 
173
</refentry>
 
174
<!-- Local Variables: -->
 
175
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
 
176
<!-- time-stamp-end: "[\"']>" -->
 
177
<!-- time-stamp-format: "%:y-%02m-%02d" -->
 
178
<!-- End: -->