/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: 2021-02-03 23:10:42 UTC
  • Revision ID: teddy@recompile.se-20210203231042-2z3egrvpo1zt7nej
mandos-ctl: Fix bad test for command.Remove and related minor issues

The test for command.Remove removes all clients from the spy server,
and then loops over all clients, looking for the corresponding Remove
command as recorded by the spy server.  But since since there aren't
any clients left after they were removed, no assertions are made, and
the test therefore does nothing.  Fix this.

In tests for command.Approve and command.Deny, add checks that clients
were not somehow removed by the command (in which case, likewise, no
assertions are made).

Add related checks to TestPropertySetterCmd.runTest; i.e. test that a
sequence is not empty before looping over it and making assertions.

* mandos-ctl (TestBaseCommands.test_Remove): Save a copy of the
  original "clients" dict, and loop over those instead.  Add assertion
  that all clients were indeed removed.  Also fix the code which looks
  for the Remove command, which now needs to actually work.
  (TestBaseCommands.test_Approve, TestBaseCommands.test_Deny): Add
  assertion that there are still clients before looping over them.
  (TestPropertySetterCmd.runTest): Add assertion that the list of
  values to get is not empty before looping over them.  Also add check
  that there are still clients before looping over clients.

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: -->