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

  • Committer: Teddy Hogeborn
  • Date: 2017-09-03 08:26:36 UTC
  • Revision ID: teddy@recompile.se-20170903082636-fo3qw1uoahjxw0by
Fix memory leak in plymouth plugin

* plugins.d/plymouth.c (getargv): Change return type to non-const.
  (main/plymouth_args): Change type to non-const and default to NULL.
  (main): Don't change plymouthd_argv, instead conditionally use it if
  it is allocated or use plymouthd_default_argv if not.
  (main): Free plymouthd_argv, if allocated.

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 "plymouth">
5
 
<!ENTITY TIMESTAMP "2019-07-27">
 
5
<!ENTITY TIMESTAMP "2017-02-23">
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>
44
42
      <holder>Teddy Hogeborn</holder>
45
43
      <holder>Björn Påhlsson</holder>
46
44
    </copyright>
61
59
  <refsynopsisdiv>
62
60
    <cmdsynopsis>
63
61
      <command>&COMMANDNAME;</command>
64
 
      <arg choice="opt">
65
 
        <option>--prompt <replaceable>PROMPT</replaceable></option>
66
 
      </arg>
67
 
      <arg><option>--debug</option></arg>
68
 
    </cmdsynopsis>
69
 
    <cmdsynopsis>
70
 
      <command>&COMMANDNAME;</command>
71
 
      <group choice="req">
72
 
        <arg choice="plain"><option>--help</option></arg>
73
 
        <arg choice="plain"><option>-?</option></arg>
74
 
      </group>
75
 
    </cmdsynopsis>
76
 
    <cmdsynopsis>
77
 
      <command>&COMMANDNAME;</command>
78
 
      <arg choice="plain"><option>--usage</option></arg>
79
 
    </cmdsynopsis>
80
 
    <cmdsynopsis>
81
 
      <command>&COMMANDNAME;</command>
82
 
      <group choice="req">
83
 
        <arg choice="plain"><option>--version</option></arg>
84
 
        <arg choice="plain"><option>-V</option></arg>
85
 
      </group>
86
62
    </cmdsynopsis>
87
63
  </refsynopsisdiv>
88
64
  
124
100
  <refsect1 id="options">
125
101
    <title>OPTIONS</title>
126
102
    <para>
127
 
      This program is commonly not invoked from the command line; it
128
 
      is normally started by the <application>Mandos</application>
129
 
      plugin runner, see <citerefentry><refentrytitle
130
 
      >plugin-runner</refentrytitle><manvolnum>8mandos</manvolnum>
131
 
      </citerefentry>.  Any command line options this program accepts
132
 
      are therefore normally provided by the plugin runner, and not
133
 
      directly.
 
103
      This program takes no options.
134
104
    </para>
135
 
    
136
 
    <variablelist>
137
 
      <varlistentry>
138
 
        <term><option>--prompt=<replaceable
139
 
        >PROMPT</replaceable></option></term>
140
 
        <listitem>
141
 
          <para>
142
 
            The password prompt.  Note that using this option will
143
 
            make this program ignore the <envar>cryptsource</envar>
144
 
            and <envar>crypttarget</envar> environment variables.
145
 
          </para>
146
 
        </listitem>
147
 
      </varlistentry>
148
 
      
149
 
      <varlistentry>
150
 
        <term><option>--debug</option></term>
151
 
        <listitem>
152
 
          <para>
153
 
            Enable debug mode.  This will enable a lot of output to
154
 
            standard error about what the program is doing.  The
155
 
            program will still perform all other functions normally.
156
 
          </para>
157
 
        </listitem>
158
 
      </varlistentry>
159
 
      
160
 
      <varlistentry>
161
 
        <term><option>--help</option></term>
162
 
        <term><option>-?</option></term>
163
 
        <listitem>
164
 
          <para>
165
 
            Gives a help message about options and their meanings.
166
 
          </para>
167
 
        </listitem>
168
 
      </varlistentry>
169
 
      
170
 
      <varlistentry>
171
 
        <term><option>--usage</option></term>
172
 
        <listitem>
173
 
          <para>
174
 
            Gives a short usage message.
175
 
          </para>
176
 
        </listitem>
177
 
      </varlistentry>
178
 
      
179
 
      <varlistentry>
180
 
        <term><option>--version</option></term>
181
 
        <term><option>-V</option></term>
182
 
        <listitem>
183
 
          <para>
184
 
            Prints the program version.
185
 
          </para>
186
 
        </listitem>
187
 
      </varlistentry>
188
 
    </variablelist>
189
105
  </refsect1>
190
106
  
191
107
  <refsect1 id="exit_status">
207
123
        <term><envar>crypttarget</envar></term>
208
124
        <listitem>
209
125
          <para>
210
 
            If set, and if the <option>--prompt</option> option is not
211
 
            used, these environment variables will be assumed to
 
126
            If set, these environment variables will be assumed to
212
127
            contain the source device name and the target device
213
128
            mapper name, respectively, and will be shown as part of
214
129
            the prompt.
216
131
        <para>
217
132
          These variables will normally be inherited from
218
133
          <citerefentry><refentrytitle>plugin-runner</refentrytitle>
219
 
          <manvolnum>8mandos</manvolnum></citerefentry>, which might
220
 
          have in turn inherited them from its calling process.
 
134
          <manvolnum>8mandos</manvolnum></citerefentry>, which will
 
135
          normally have inherited them from
 
136
          <filename>/scripts/local-top/cryptroot</filename> in the
 
137
          initial <acronym>RAM</acronym> disk environment, which will
 
138
          have set them from parsing kernel arguments and
 
139
          <filename>/conf/conf.d/cryptroot</filename> (also in the
 
140
          initial RAM disk environment), which in turn will have been
 
141
          created when the initial RAM disk image was created by
 
142
          <filename
 
143
          >/usr/share/initramfs-tools/hooks/cryptroot</filename>, by
 
144
          extracting the information of the root file system from
 
145
          <filename >/etc/crypttab</filename>.
221
146
        </para>
222
147
        <para>
223
148
          This behavior is meant to exactly mirror the behavior of
224
 
          <command>askpass</command>, the default password prompter
225
 
          from initramfs-tools.
 
149
          <command>askpass</command>, the default password prompter.
226
150
        </para>
227
151
        </listitem>
228
152
      </varlistentry>
295
219
    </para>
296
220
    <informalexample>
297
221
      <para>
298
 
        Normal invocation needs no options:
 
222
        This program takes no options.
299
223
      </para>
300
224
      <para>
301
225
        <userinput>&COMMANDNAME;</userinput>
302
226
      </para>
303
227
    </informalexample>
304
 
    <informalexample>
305
 
      <para>
306
 
        Show a different prompt.
307
 
      </para>
308
 
      <para>
309
 
        <userinput>&COMMANDNAME; --prompt=Password</userinput>
310
 
      </para>
311
 
    </informalexample>
312
228
  </refsect1>
313
229
  
314
230
  <refsect1 id="security">
354
270
    <para>
355
271
      <citerefentry><refentrytitle>intro</refentrytitle>
356
272
      <manvolnum>8mandos</manvolnum></citerefentry>,
 
273
      <citerefentry><refentrytitle>crypttab</refentrytitle>
 
274
      <manvolnum>5</manvolnum></citerefentry>,
357
275
      <citerefentry><refentrytitle>plugin-runner</refentrytitle>
358
276
      <manvolnum>8mandos</manvolnum></citerefentry>,
359
277
      <citerefentry><refentrytitle>proc</refentrytitle>